场景:使用navicat连接Oracle数据库出现的问题
在新入职一家公司时,使用Oracle数据库,之前一直没用过,所以在连接数据库时出现了一些问题


问题描述

在拿到了数据库的账密后,在navicat上面输入后,提示 TNS 错误,这里的错误原因是服务名错误,在Oracle数据库可以查看到数据库的服务名
服务名在这里输入
28547错误
在输入了正确的服务名后,Oracle提示28547错误
错误示例


原因分析:

这里是因为你使用的navicat自带的oci版本和目标Oracle数据库的版本不一致导致的

例如:我的navicat自带的是11.2版本的oci,但是我需要链接的数据库版本是12.2的,所以导致链接报错,Oracle数据库版本可以通过连接数据库的ide使用select * from v$version命令查看。

解决方案:

在Oracle官方的下载地址上面选择需要的版本号,下载oci文件

下载地址
选择12.2
把下载得到的文件夹粘贴到navicat的安装目录下
目录
在navicat上面点击设置->环境->选择你下载粘贴的文件夹里面的oci版本,重启后连接数据库

在这里插入图片描述

在这里插入图片描述

链接成功
但是这里我遇到了一个问题 ,我首先使用了12.2版本的oci文件,但是提示我Oracle library is not loaded 这样的话应该是12.2的版本 oci有问题,所以我选择了12.1版本的oci文件,最后链接成功

Logo

一站式 AI 云服务平台

更多推荐