安装了64位的ORACLE 11g,使用PLSQL Developer配置好之后 ,读不到oracle的数据库。
现象如下图:
结合自己的分析和其它资料,总结了解决方法。
1 因为PLSQL Developer是32位的,所有需要下载oracle32位的客户端,
地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html。
instantclient-basic-nt-11.2.0.4.0.zip。免安装版的,下载下来解压的本地就行了。
2 假设:oracle的安装home路径为D:\oracle\product\11.2.0;
客户端的解压地址为D:\oracle\instantclient_11_2。
3 配置环境变量:这一步和其它方法略有所不同,这里可以不复制tnsnames.ora文件到客户端目录中。
(相信这里就不用说怎么配置环境变量了吧):
TNS_ADMIN =D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
说明:TNS_ADMIN,是指tnsnames.ora文件所在的目录名。
如果指定到客户端目录,则必须把tnsnames.ora文件复制过来才可以。
NLS_LANG环境变量,要设置成和数据库端一致,可以在SQLPLUS查询字符集信息
SQL> select userenv('language') nls_lang from dual;NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4 客户端的使用在这里:
设置Oracle Home 为oracle安装目录home
设置OCI Library为oracle客户端的oci.dll文件的全路径名。
Apply & Ok。
5 关掉plsql,重启。看一下,现在有了
这里主要就是两点,环境变量TNS_ADMIN配置成tnsnames.ora文件所在的目录名;
PLSQL中OCI Library设置成oracle客户端的oci.dll。