Navicat无法连接Oracle 11g:Cannot load OCI DLL 87/193——解决办法

错误描述一:

Cannot load OCI DLL, 87: Instant Client package is required for Baic and TNS connection

For more information: http://wiki.navicat.com/wiki/index.php/Instant_client_required

或者是:

..*  *  * Net admin error 

原因:

这个错误是因为Navicat没有加载OCI.dll文件。

(不要问我为什么要加载OCI.dll文件,因为我也不知道)

解决:

如果选中Navicat工具栏中的工具——其他——OCI选项,选中OCI行,选择需要加载的oci.dll文件,如下图:Navicat无法连接Oracle 11g:Cannot load OCI DLL 87/193——解决办法

这里加载的oci.dll文件是数据库中自带的文件,根据图中的目录,定位到BIN文件夹下,找到oci.dll文件,选择打开。

然后点击确定,重启Navicat,连接Oracle数据库,如果成功,则万事大吉,如果不成功,继续往下看:

错误描述二:


Cannot load OCI DLL,193: Instant Client package is required for Baic and TNS connection

For more information: http://wiki.navicat.com/wiki/index.php/Instant_client_required

原因:

目前我已知的193错误是因为Navicat加载的oci.dll文件的位数与Navicat的位数不一样;

(简单来说就是一个32位——*86,一个64位*——64)。

比如:如果Oracle数据库安装的是64位,Navicat安装的是32位的话,那么如果用Navicat加载Oracle自带的64位的odi.dll文件就会报错。

解决办法:

因为我安装的Navicat是32位的,Oracle 11g是64位的,所以我需要另外下载并加载32位oci.dll文件:

下载网址:http://www.oracle.com/technetwork/topics/winsoft-085727.html (这里下载出来的都是32位的)

第1步:在上述地址中下载文件:instantclient-basic-nt-11.2.0.3.0.zip

第2步:解压此安装包,并将解压出的文件合并到数据库的安装目录下:E:\........\product\instantclient_11_2

第3步:打开Navicat,选择工具→选项→其他→OCI,

设置OCI library为新下载的oci.dll文件:E:\........\product\instantclient_11_2\oci.dll

点击确定,重启Navicat。