navicat连接oracle数据库ORA-28547:connection to server failed, probable Oracle Net admin error错误,解决方法

Navicat Premium11连接Oracle出现ORA-28547:connection to server failed
环境描述:
本地Oracle正常安装,中途没有出现任何异常。
确保Oracle的主要服务都启动了。
1、OracleServiceORCL
2、OracleOraDb11g_home1TNSListener

问题描述:
navicat新建一个oracle连接,在主机或ip地址那一栏。
如果填写本机IP,则会报ORA-12541:TNS:no listener。
如果填写localhost,则会报ORA-28547:connection to server failed

解决方法:
navicat的oci.dll版本不对,我电脑装的是oracle11g。

方法一:直接在navicat,工具->选项->其他->oci下面重新设置OCI library的路径,这里我指向我电脑安装oracle的目录E:\Oracle11g\product\11.2.0\dbhome_1\BIN\oci.dll,重新启动navicat就不会报错了。

方法二:
在下面地址下载oracle client并安装

1
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip
然后按方法一中的把OCI library的路径指向client中的oci.dll。
设置环境变量:
(1)在环境变量PATH中开头增加C:\Instantclient10_2;
(2)增加用户环境变量SQLPATH,值为C:\Instantclient10_2
(3)增加用户环境变量NLS_LANG,值为AMERICAN_AMERICA.UTF8
注:本人遇到问题总结!

### 解决 Navicat 连接 Oracle 数据库 ORA-28547 错误 ORA-28547 错误通常是由于 Navicat 客户端使用的 OCI 版本与 Oracle 服务器版本不匹配引起的[^1]。为了确保连接正常工作,建议采取以下措施: #### 验证并更新 OCI 库版本 确认当前使用的 OCI 文件版本是否与目标 Oracle 服务器兼容。如果存在版本差异,则应下载并与所需版本相符的 OCI 软件包替换现有文件。 对于不同版本之间的冲突情况,例如当远程 Oracle 是 11g 的时候,而 Navicat 自身携带的是 10g 的 `oci.dll` 文件,这就会引发上述错误提示[^4]。因此,获取适用于特定 Oracle 发行版的正确驱动程序至关重要。 #### 下载合适的 Oracle Instant Client 访问 [Oracle官方网站](https://www.oracle.com/database/technologies/instant-client.html),选择适合操作系统的即时客户端Instant Client,并按照说明完成安装过程。确保选择了正确的位数(32 或 64 位),以及适当的功能集——基本型或简化型均可满足大多数需求[^2]。 #### 设置环境变量 PATH 为了让操作系统能够找到新安装的 OCI 库,在计算机上设置全局环境变量 PATH 来指向新的 Instant Client 目录位置。此步骤有助于应用程序优先加载指定路径下的动态链接库而非默认目录中的旧版本[^3]。 #### 测试连接 重新启动 Navicat 并尝试建立到 Oracle 数据库的新连接。此时应该不会再看到之前的 ORA-28547 错误消息了。 ```sql -- 使用 SQL*Plus 或其他工具验证连接状态 SELECT * FROM v$version; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值