您的位置:首页 > 数据库 > Oracle

Navicate Premium连接Oracle 11g 时的常见异常

2018-08-01 18:35 363 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_32916879/article/details/81335028

最初navicate是自己写点东西时连接MySQL用的,考虑到以后可能会连接别的数据库,所以没有下载Navicate for MySQL版本,下载的是Navicate Premium。今天在用Navicate Premium 连接Oracle 11g 时出现了一些预想之外的错误。

根据IP和服务名创连接数据库时

 

结果出乎意外的报了一个ORA-28547的错误:连接服务器失败,可能是Oracle Net 管理错误

造成这个错误的原因就是Navicat安装目录下Navicat Premium\instantclient_10_2下的oci.dll文件不给力,自己下载一个替换掉就可以了。

 

解决方法:

1.前往“http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

2.选择与自己系统以及数据库匹配的“Instant Client”。

3.将下载的压缩包解压缩,然后将解压缩的文件夹放到Navicat Premium目录下

4.打开Navicate(我的是Navicate 12,其他版本下述操作步骤可能会略有不同),工具-->选项-->环境-->OCI环境-->OCI library(oci.dll),前往刚才解压缩后放在Navicat Premium目录下的文件夹内,选择oci.dll,替换掉之前的oci.dll。

5.    重启Navicate!!!!

 

当然了在这儿过程中也是踩过坑的,下载的压缩文件文件一定要和自己的navicate版本,数据库版本以及系统版本一致,我的操作系统是Win8 64位,Navicate是Navicate 12.0.11(64bit),数据库是Oracle 11g(11.2.0.1.0)-64bit,所以下载的oci.dll一定要对应Oracle 11.2并且为64位版本。但是当初并没有考虑到这一点,先是下载了一个一个32位的instantclient-basic-nt-11.2.0.4.0.zip,后来又下载了一个 64位的instantclient-basic-win64-10.2.0.5.zip,解压后选中了相应的oci.dll,仍然会报一个"Oracle library is not loaded."或者"Cannot load OCI DLL……"的错误。大概意思就是不能正确加载oci.dll或者Oracle相应的库,如果报这个错应该是oci.dll版本和Navicate版本或者Oracle版本不一致造成的。

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: