一、背景
本机配置:win7 64位
本机同时安装了oracle服务器端和客户端
服务器端:11gR2; 客户端:oracle10g32位(由于项目需要,必须安装此客户端)
二、报错描述
先安装的11gR2,用Navicat连接正常,后面再安装10g32位的客户端后,连接报错:oracle library is not loaded
三、报错原因
因为当前连接的数据库的oci.dll和navicat中配置的oci.dll不一致
截图如下,发现此时navicat配置的是客户端的dll,而当前连接的数据库是11gr2的,所以两个dll不一致,故无法连接
四、解决办法
选择适合的oci.dll,在navicat中配置即可。
注意:配置后,一定要重启navicat
因为本机装有11gr2的服务端,连接的又是11g的数据库,故navicat中配置本机11gr2中的oci.dll即可
此时,再次连接,显示成功
若本机中没有连接的数据库对应的oci文件,在官网中下载对应的客户端连接版本
oracle的客户端官网:https://www.oracle.com/database/technologies/instant-client/downloads.html
根据需求下载对应的版本,然后解压,放到一个目录下,在navicat中配置该目录中oci文件所在的目录,然后重启navicat即可
下载相关的具体操作,参考此文档:https://www.cnblogs.com/ggll611928/p/15459933.html