您的位置:首页 > 其它

win7 配置连接远程orcle 数据源并在powerdesigner中导出表

2017-11-15 15:52 441 查看
Win7 64位下PowerDesigner连接64位Oracle11g数据库

操作系统:WIN7 64旗舰版
Oracle版本:64位11g
PowerDesigner版本:15.1
问题描述:因为PowerDesigner是32的程序,连接数据库会默认开启32位的ODBC,因此无法使用Oracle11g的驱动程序
解决方法:下载安装Oracle11g客户端win32_11gR2_client.zip => 选择客户端的提供程序连接Oracle
详细步骤:
1、下载Oracle11g客户端win32_11gR2_client.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip (曾尝试使用精简版不成功,所以保险起见用官方完整版客户端)
2、安装选择管理员模式,1.1G的那个安装版本
3、配置客户端TNS
配置后将 tnsnames.ora分别拷贝到network\admin下。
4、打开ODBC 32版本 C:\Windows\SysWOW64\odbcad32.exe,点击添加,选择Oracle in OracleClient_home
 


(截图有两个因为我安装了两遍,第一次安装错了,请无视)
5、配置数据源,输入用户名账号,测试连接成功
 


6、打开PowerDesigner,在DataBase下拉菜单选择点击Connect,选择刚才配好的ODBC就可以了!
 
 


总结:64位系统用Oracel有点麻烦,我当时用本机装Oracle11g服务端,然后连PL/SQL连不上也是这个原因,现在用的很好。
Oracle11g服务端+Oracle11g客户端+PL/SQL Developer+PowerDesigner,环境运行稳定!(wyt:后加网上的方法是正常的我的方法是采用的用了客户端和简单客户端并存的方式不完善)
 
 
 
添加数据源的时候要注意。首先要新建一个数据模型,建立成功以后才能够在对应的数据库菜单中选到要对应的这个菜单下面是我的一些截图,展示了成功的案例,如果数据库连接不成功。那么我们就要完成上面的操作或这看看能否建立好net连接吧

































这样就完成了连接oracle的过程如果连接sqlserver的话需要注意的是,异构数据库是不能放在一个project下的



区别在下面的图片中



选择的驱动程序不同。其余的都差不多。但是我测试的目标数据源有问题,无法正常的访问,所以结果图我没有贴出来。大家可以自己测试吧。这里参考了几个文档分别是 http://wenku.baidu.com/link?url=pCYOdnR40IvaOdUXKZnW8IrlHF_qF6CgTy_PH9ytgy-mCfzDsn26aW-qYEETllzw5v3XqqKjuHNZtCTAz5pErCznmZduSBDOGe2ZhoyjThW 希望能够帮助到大家。

导出结构时将中文注释一起导出的布凑:
在 PDM  导出后 ,点击    Tools  >  Execute Commands > Edit/Run Script    下添加 以下语句 :
Option Explicit  

ValidationMode = True  

InteractiveMode = im_Batch  

Dim mdl 'the current model  

'get the current active model  

Set mdl = ActiveModel  

If (mdl Is Nothing) Then  

MsgBox "There is no current Model"  

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  

MsgBox "The current model is not an Physical Data model."  

Else  

ProcessFolder mdl  

End If  

'This routine copy name into code for each table, each column and each view  

'of the current folder  

Private sub ProcessFolder(folder)  

Dim Tab 'running table  

for each Tab in folder.tables  

if not tab.isShortcut then  

if len(tab.comment) <> 0 then  

tab.name = tab.comment  

end if  

On Error Resume Next  

Dim col 'running column  

for each col in tab.columns  

if len(col.comment) <>0 then  

col.name =col.comment  

end if  

On Error Resume Next  

next  

end if  

next  

end sub 

点击 run 后就可以看到中文注释了。
   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: