最初navicate是自己写点东西时连接MySQL用的,考虑到以后可能会连接别的数据库,所以没有下载Navicate for MySQL版本,下载的是Navicate Premium。今天在用Navicate Premium 连接Oracle 11g 时出现了一些预想之外的错误。
根据IP和服务名创连接数据库时
结果出乎意外的报了一个ORA-28547的错误:连接服务器失败,可能是Oracle Net 管理错误
造成这个错误的原因就是Navicat安装目录下Navicat Premiuminstantclient_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版本不一致造成的。
Navicat Premium 11.2.18激活
今天的文章
Navicat Premium 11.2.18激活(Navicate Premium连接Oracle 11g 时的常见异常)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/111025.html