Navicat连接Oracle数据库过程中的诸多问题

本文总结了Navicat连接Oracle数据库时遇到的三个常见问题及其解决方案:1) OCI DLL加载失败,解决方法是下载并配置Oracle Instant Client;2) ORA-28547连接失败,可能由于Navicat的OCI版本与服务器不符,替换oci.dll或下载匹配版本的Instant Client;3) TNS监听器未知服务请求,需检查tnsnames.ora文件中的全局数据库名。

由于开发过程中需要用到Oracle数据库,所以这几天也一直在折腾Oracle,安装、配置过程中也遇到了诸多问题,现总结一下,也便于以后查阅。

1、Navicat连接Oracle数据库报错:Cannot load OCI DLL 87: Instant Client package is required for Basic and TNS connection.

      解决:由于 Navicat 是通过Oracle客户端来连接 Oracle服务器从而进行操作数据的,所以Oracle服务器需要装 Instant Client 才能让第三方工具通过OCI(Oracle Call Interface)来连接,于是解决上面错误的方法可以在Oracle官网下载Instant Client,下载后解压到适当的目录,接着配置Navicat 的OCI。具体步骤如下:打开Navicat的 “工具” ---> “选项” ---> “其他”---> “OCI”  ---> 选择 oci.dll文件的路径 。配置完成后记得重启一下Navicat。Oracle Instant Client 下载地址为:

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

 

2、Navicat连接Oracle数据库报错:ORA-28547:connection to server failed, probable Oracle Net admin error                     

     解决:Oracle客户端分为两种,一种是标准版,一种是简洁版,即Oracle Instant Client。出现了上述错误的原因,从网上了解到多数是因为Navicat本地的 OCI 版本与Oracle服务器不相符造成的。我自己的解决方案是使用Oracle数据库服务器里面自带的 oci.dll 替换 Navicat 原来的OCI版本, 如我的oci.dll路径为:..\product\11.2.0\dbhome_1\bin\oci.dll 。

 

还有另外一种解决方案,便是在Oracle的官网上下载对应版本的 Oracle Instant Client,地址为:

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

下载完解压,把对应oci.dll文件地址配置到Navicat的OCI即可

 

 

3、Navicat连接Oracle数据库报错: TNS:listener does not currently know of service requested

   解决:出现此错误的原因是:监听程序当前无法识别连接描述符中请求的服务,说白了就是服务名或SID填写出错,此处填写的应该是Oracle数据库的全局数据库名。解决方案如下:找到Oracle服务器安装目录下     ..\product\11.2.0\dbhome_1\NETWORK\ADMIN 的 tnsnames.ora文件,打开,即可看到 Oracle 的SERVICE_NAME,更换连接属性中的服务名或SID,即可连接成功。

注:Oracle默认的端口号为1521,此处的端口号是我更改过的,所以是1522。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值