Bootstrap

oci.dll版本不对导致的navicat连接oracle异常处理

一、可能会出现的错误

1、connection lost contact

2、navicat is not able to create oci handles

二、问题分析

出现这两个问题的原因是:

1、安装navicat时,navicat通常会在自己的安装路径下包含某个版本的OCI,如果navicat本地的OCI版本与Oracle服务器版本不一致,使用navicat连接Oracle服务器时则会出现“ORA-03135:connection lost contact”错误

2、Navicat 连接 oracle 数据库需要本地有 oracle 环境,如果没有指定oci.dll路径,或者指定的文件有问题,则会出现“navicat is not able to create oci handles”错误

三、解决办法

由于oracle 客户端太大了,我们只需本地装个 oracle install client 就好了(oci 相当于一个轻量的客户端)

安装步骤:

a、下载oci

地址:https://www.oracle.com/cn/database/technology/instant-client.html

根据要远程的数据库下载版本,这个必须跟数据库位数一致,不然不能用

查询oracle版本:select * from v$version

如下图:

选择对应的客户端包进行下载

b、下载完成后,解压zip包,里面会有一个oci.dll文件

c、修改navicat的oci.dll配置

配置路径:工具-选项-环境-OCI环境,修改配置到刚才解压后的oci.dll路径

d、重启navicat,再次连接,连接成功