您的位置:首页 > 数据库 > Oracle

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

2017-06-02 11:06 489 查看
重装完系统之后,新装完Navicat之后,在连接oracle数据库的时候,出现如下报错:

ORA-28547:connection to server failed,probable Oracle Net admin error,截图如下:





问题可能原因:重装系统之后,需要先安装oracle客户端,才能使用各种工具,我们把oracle客户端安装之后,看看是否还会存在这个问题
注意:如果你是在您本机装的oracle,然后访问本机的数据库,是不需要再额外安装客户端了,因为oracle服务器端就会带有客户端

1、oracle客户端下载
去官网下载客户端,我这边数据库版本为11.2.0.4.0,官网上没有提供客户端,只能下载11.2.0.1.0的客户端了,下载链接:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html?ssSourceSiteId=otncn



2、客户端安装
中间可能会提示有一个条件不通过,查看日志,没什么影响,在这里就一直默认下去了



3、执行netca
出现以下报错:
caused by: Java.io.FileNotFoundException: D:\app\Administrator\product\11.2.0\client_2\network\admin\tnsnames.ora (拒绝访问。)
解决:使用管理员运行netca就可以了,然后我们创建一个tnsname.ora文件,配置上要连接的数据库信息,如下图,选择本地网络服务名配置创建tnsname.ora:




4、客户端装完之后,发现navicat还是报这个错,上网查询之后,发现nvicate比较特殊,我的toad和plsql都是已经能正常使用了,接下来继续排查

客户端的配置文件sqlnet.ora中配置如下:
按照网上的做法
将#SQLNET.AUTHENTICATION_SERVICES= (NTS)注释掉,改成如下
如下:SQLNET.AUTHENTICATION_SERVICES= (NONE)
结果还是没有好转,继续排查

问题原因:如果使用Navicat连接Oracle服务器出现ORA-28547错误时,多数是因为Navicat本地的OCI版本与Oracle服务器服务器不符造成的

在本案例中我的navicat的本地的OCI路径是C:\Program Files\PremiumSoft\NavicatPremium\instantclient_10_2\oci.dll

这个版本应该是不对的,应该11G才对,so,我们使用
C:\app\56810\product\11.2.0\client_1\BIN\oci.dll
配置:Navicat-->工具-->OCI-->编辑输入路径

完美解决!!!

ps:
ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。OCI就是为了实现高级语言访问数据库而提供的接口。OCI允许开发者在程序里使用SQL和PL/SQL来访问数据库。开发者可以使用第三代语言来编写程序,而使用OCI来访问数据库。
也就是说OCI是一种更高级功能的一种实现,对,没错,主流趋势。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle navicat
相关文章推荐