前两天刚下载了oracle 11g 64位的最新版本,安装成功之后,再安装PLSQL。结果使用PLSQL访问数据库时,死活连接不上。报错如下:
Could not load "……inoci.dll"
OCIDLL forced to……
LoadLibrary(……oci.dll) returned 0
分析原因:
oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了,而且PLSQL Developer只支持32位,所以如果非要64位Oracle,我们只有想别的办法解决了;
解决方法一:
1、下载instantclient_32位客户端,解压后存到某个路径下,如D:apporacelinstantclient
2、拷贝Oracle11g的msvcr80.dll(可不拷贝)和tnsnames.ora到解压的instantclient_32位客户端根目录,它们的位置分别是:
D:apporacleproduct11.2.0dbhome_1BIN和D:apporacleproduct11.2.0dbhome_1NETWORKADMIN
3、设置PLSQL Developer中设置Oracle_Home和OCI Library,
如图:
4、在PLSQL Developer目录下创建bat文件,作为PLSQL Developer的启动快捷方式替换PLSQL Developer传统启动方式,bat文件中的内容如下:
@echo off
set path=D:MyOracleOracleproduct11.2.0instantclient_11_2
set ORACLE_HOME=D:MyOracleOracleproduct11.2.0instantclient_11_2
set TNS_ADMIN=D:MyOracleOracleproduct11.2.0instantclient_11_2
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
至此设置完成,经实验PLSQL Developer的可以成功连接到Oracle 11g 64位。
另外,如果觉得使用bat文件启动pl/sql不太习惯,可以采用设置环境变量的方法,替代上述第四步:
依次选择:计算机(win10下选择“我的电脑”)->右键选择“属性”->高级系统设置(win10下选择“高级”)->点击“环境变量”。分别设置
path=D:MyOracleOracleproduct11.2.0instantclient_11_2
新建:ORACLE_HOME=D:MyOracleOracleproduct11.2.0instantclient_11_2
和:TNS_ADMIN=D:MyOracleOracleproduct11.2.0instantclient_11_2
设置完成之后,就可以通过传统的pl/sql快捷键启动方式启动plsql了。