情景再现
我在使用 Navicat premium 连接非本地 Oracle 时在地址和口令均输入正确的情况下,出现如下报错:
具体原因
Navicate Primium 版本的 OCi 和要连接数据库的 OCI 版本不一致
解决方法
情况一
连接非本地 Oracle 且本机没有 Oracle 或者有跟低版本 Oracle,需要在官网下载 instantclient
下载地址:https://www.oracle.com/cn/database/technologies/instant-client/winx64-64-downloads.html
在该页面选择适合你环境的然后下载,下载完成后解压的到 Navicat 的安装目录
然后回到 Navicat 窗口,点击上面的工具栏中的选项…
在 OCI 的页面内选择修改 oci.dll 的路径
修改为刚解压的文件夹下的 oci.dll, 然后保存,重启 Navicat ,成功连接到 Oracle
情况二
连接本地 Oracle 或者连接非本机 Oracle 但本机有同版本 Oracle,那在 Oracle 安装目录里就有可用的 oci.dll,不用再单独下载,具体路径:\Oracle_11g_R2\product\11.2.0\dbhome_1\BIN\oci.dll,根据个人的不同情况找到这个文件,然后招情况一的方法将 OCI 的路径进行替换并保存重启即可