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
点击 net configuration assistant, 出现以下页面:
第一步: 配置监听:
第二步:配置本地网络服务:
测试失败的时候输入更改用户名和密码 重新测试。测试成功后下一步。
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 后就可以看到中文注释了。