环境:Win7 64位、Oracle 11g 64位、PowerDesigner16.5、instant client12_1 64位。
在用PowerDesigner逆向数据库结构时,配置Oracle数据源总是提示 未发现oracle(tm)客户端和网络组件。
在网上获取到以下知识点:
1、权限问题,与NTFS权限分配有关。无效
2、Win7 64位,应配置SysWOW64 中的odbcad32.exe 数据源
3、重装MSODBC无效。
4、发现控制面板中的ODBC数据源可正常配置,这个数据源指向system32下的odbcad32.exe。
5、instantclient_12_1环境变量正常
PATH:E:\instantclient_12_1;
SQLPATH:E:\instantclient_12_1
TNS_ADMIN:E:\instantclient_12_1
LD_LIBRARY_PATH:E:\instantclient_12_1
NLS_lANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
6、发现SysWOW64和system32下Oracle驱动dll文件不同。
7、sqlplus配置正常、system32下oracle数据源正常。
解决思路,判断与intant client系统版本有关,更换为intant client 32位后,正常。
总结:应用程序PowerDesigner为32位,应当采用32位的数据源,需要将环境变量配置到32位数据源下。
PS:配置中的TNS监听错误,与network\admin\tnsnames.ora以及配置有关。