使用Navicat连接Oracle库时出现ORA-28547:和ORA-12541:无监听器程序问题
使用Navicat连接Oracle库时出现ORA-28547:和ORA-12541:无监听器程序问题
丙人使用的是Navicat Premium 12,数据库是Oracle 11g
当我们在使用Navicat for Oracle连接远程Oracle数据库服务器时,程序报错:(如下图所示)
报错原因是:连接到服务器失败,Oracle Net管理错误
原因:
Navicat Premium 12版本的OCi和本地数据库的OCI版本不一致。
原因分析:
Navicat for oracle是通过Oracle客户端连接Oracle服务器的,然后我们打开Navicat Premium 12数据库,点击工具——>选项——>选择环境,在OCI环境选择路径这里就可以发现在自己的Oracle Install Client文件路径下oci.dll版本不一致,如果使用Navicat连接Oracle服务器出现ORA-28547这个错误时,多数是因为Navicat本地的oci.dll版本与Oracle服务器不符而所造成的,所以首先我们到官网下载一个Oracle Install Client文件。
解决办法:
1.首先在Oracle官网上下载Oracle Install Client文件
官方链接下载
1.如图1
2.如图2
3.如图3
4.下载完之后,解压在Navicat Premium 12安装目录下
5.然后打开Navicat Premium 12数据库客户端,点击工具——>选项
6.更换为刚在解压到Navicat Premium 12安装目录下instantclient_19_6文件下的oci.dll
然而在使用Navicat连接Oracle数据库时
报:ORA-12541: TNS:no listener 这个错误(如图所示):
解决方法:
1.首先右键此电脑选择属性(服务器的主机名不能有特殊字符)
2.为了确保不能有特殊字符,如果有请先修改后,重启电脑,一定不能有中文
3.然后在Oracle安装目录下找到listener.ora,tnsnames.ora这两个文件,然后用
Notepad++打开,或者用记事本打开
首先选择listener.ora右键Notepad++打开修改如下:
然后在选择tnsnames.ora右键Notepad++打开修改:
保存之后:打开任务管理器找到服务(重新启动)
(这一步是重新启动监听服务)
然后最后一步砸们在来试一次连接Oracle数据库
最后就连接成功了!!!
如果还有什么其他问题,可以私聊或者评论喔~