Windows下Navicat15.0连接Oracle11g报ORA-28547解决

目录

背景

一、相关环境

1、操作系统

2、Navicat版本

 3、ORACLE连接

4、默认连接

 二、问题分析

1、默认dll配置

 三、修改配置

1、下载匹配的client

 2、替换相应目录

总结


背景

        最近在项目中需要使用Oracle数据库,当前很多应用系统的数据都存储在MySQL或者PostgreSQL中。由于历史原因,仍然有部分系统是将数据存储在ORACLE中的。对于一般开发者来说,我们仅仅只需要通过程序或者客户端软件去查询和修改数据,使用像Navicat这样的瘦客户端直接连接数据库即可。

        项目组其它同事使用Oracle client+PL/SQL的组合,算是比较常用的客户端了。但是不想去安装一个Oracle Client,同时还要进行配置,虽不算复杂,但比较繁琐。也不想安装那么多客户端,而本地已经安装了Navicat,因此想着直接使用这款工具来进行操作。

        但是,在使用Navicat连接Oracle11g服务端时,发生了一些小插曲。本文将重点讲述在Windows环境下Navicat15连接Oracle11g时报ORA-28547:connection to server failed,probable Oracle Net admin error错误,以及怎么解决这个错误。如果你也在使用这款工具,碰到同样的问题,可以有一定的参考性。

一、相关环境

1、操作系统

        开发电脑的操作系统是:Windows7 旗舰版。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第1张图片

2、Navicat版本

Navicat的版本使用的15.0.11-premium。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第2张图片

 3、ORACLE连接

        这里Oracle使用的11g,使用SERVICE_NAME的方式对外提供服务。

devdb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.39.135.66)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = devdb)
    )
  )

4、默认连接

在Navicat的连接窗口中,新建Oracle连接,示意图如下:

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第3张图片

         在这个连接页面,输入上一步中提供的ORACL数据库连接信息。点击左下角的测试连接按钮。如果出现以下提示窗口,那么您可以继续往下看,否则您可以关闭当前浏览的网页了。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第4张图片

首先,这里要确保Oracle Server是正常能提供服务能力的。错误信息如下:

ORA-28547:connection to server failed,probable Oracle Net admin error

 二、问题分析

        出现这个问题的原因并不是服务不可用,而是因为navicate连接oracle服务的客户端接口程序版本太老了。而oracle server用的是11g的,因此需要使用匹配的客户端才可以连接数据库。

1、默认dll配置

        首先来看一下Navicat默认安装的路径下的dll文件。点击工具==>选项,打开以下页面。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第5张图片

        然后在下面的界面中查看“环境”选项。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第6张图片

        打开OCI环境选项后面的文件浏览按钮可以看到具体文件:

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第7张图片

 三、修改配置

1、下载匹配的client

        知道了问题的所在就好解决问题了。需要在Oracle的官方网站下载相应的包。官方下载地址。打开界面如下:

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第8张图片

         选择下载Windows客户端,进入版本的选择。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第9张图片

         这里下载basic版本即可,将下载下来的包解压后可以看到如下文件

 2、替换相应目录

        将解压之后的文件拷贝至Navicat原来默认的OCI文件存放地址替换老的。在确认OCI环境配置无误后,重启Navicat,尝试再次进行Oracle连接。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第10张图片

可以看到,客户端已经能正确连接Oracle服务了,下面就可以愉快的进行应用程序开发了。

Windows下Navicat15.0连接Oracle11g报ORA-28547解决_第11张图片

总结

         以上就是本文的主要内容,本文将重点讲述在Windows环境下Navicat15连接Oracle11g时报ORA-28547:connection to server failed,probable Oracle Net admin error错误,以及怎么解决这个错误。如果你也在使用这款工具,碰到同样的问题,可以有一定的参考性。行文仓促,如有不当之处,欢迎各位朋友在评论区留言批评指正。由于Oracle官网可能访问速度较慢,如果您也是使用Oracle11g,可以点击windows 下oracle11g navicate dll连接包 进行下载,请注意,其它版本还是到官网上下载。

你可能感兴趣的:(数据库技术,Navicat连接报错,ORA-28547)