Oracle远程错误:ORA-28547:connection to server failed, probable Oracle Net admin error

本文介绍了解决Navicat连接Oracle数据库时遇到ORA-28547错误的方法,包括下载oci.dll文件、配置Navicat等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

小弟使用window开发,最近一个项目需要使用到oracle数据库,但是本人之前使用的mysql数据库,使用navicat客户端。对oracle不熟悉,本地也没有环境,所以打算远程链接服务器上的oracle数据库。本以为就像远程mysql数据库一样,配置好参数便可以。但是,现实总是残酷的,把参数填好之后,navicat告诉我:

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

所以,故事就发生了...

问题

使用navicat远程链接oracle数据库时,报错:ORA-28547:connection to server failed, probable Oracle Net admin error

解决

网上别的方案没试过,我就说我对这个问题的解决办法。

**1.网上下载oci.dll文件(instantclient-basic-win-x64|x86)**
    oracle官网上有该文件的下载:http://www.oracle.com/technetwork/cn/topics/winia64soft-083954-zhs.html,但是下载时需要登录,所以我在网上找了一个新版本的下载,你也可以试试这个版本:http://www.liangchan.net/liangchan/9331.html,如果不行,那下载最新的再试试。
**2.解压instantclient-basic-win-x64**
    我将这个zip包解压到了d:/instantclient-basic-win-x64位v11.2.0.4.0官方版,将其中的instantclient_11_2文件夹复制到了安装navicat的目录下。
    ![放置路径](https://img-blog.youkuaiyun.com/20171031135457964?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRE1ha2VyMTk5Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

**3.在navicat中配置oci.dll**
    打开navicat,一次选择:工具->选项->OCI,能够看到如下界面:
    ![配置界面1](https://img-blog.youkuaiyun.com/20171031135657847?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRE1ha2VyMTk5Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    点解右上的...,选择刚才配置好的instantclient_11_2目录中的oci.dll文件即可。
    ![配置界面2](https://img-blog.youkuaiyun.com/20171031135816985?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRE1ha2VyMTk5Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

**4.重启navicat**
    重启之后,重新连,我的显示成功!你也可以试试你的。
### 解决方案 ORA-28547 错误通常是因为 Navicat 本地的 OCI(Oracle Call Interface)版本与 Oracle 数据库服务器的版本不兼容引起的[^2]。以下是解决此问题的具体方法: #### 1. 查询 Oracle 数据库版本 首先需要确认目标 Oracle 数据库的版本,可以通过以下 SQL 查询语句获取: ```sql SELECT * FROM v$version; ``` 运行该查询后,将返回类似如下结果: ``` BANNER ------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production ``` 上述结果显示数据库版本为 11g,因此需要下载与之匹配的 OCI 文件[^3]。 #### 2. 下载对应版本的 OCI 文件 根据查询到的 Oracle 数据库版本,从官方或可信来源下载对应的 OCI 文件。例如: - 如果数据库版本为 10g 或 11g,可以使用 `instantclient_10_2` 或 `instantclient_11_2`[^4]。 - 如果数据库版本较高(如 19c),建议下载 `instantclient-basic-windows.x64-19.5.0.0.0dbru.zip`,但需要注意可能存在的向下兼容性问题[^5]。 #### 3. 替换 Navicat 安装目录中的 OCI 文件 将下载的 OCI 文件解压,并替换 Navicat 安装目录下的原有文件。具体步骤如下: 1. 找到 Navicat 的安装路径,通常位于 `C:\Program Files\PremiumSoft\Navicat Premium` 或类似的目录。 2. 将解压后的 `oci.dll` 文件复制到 Navicat 的安装目录中,覆盖原有的 `oci.dll` 文件。 3. 确保其他相关依赖文件(如 `oraociei11.dll`)也正确放置在安装目录下[^3]。 #### 4. 修改 OCI 配置 如果需要进一步调整 OCI 配置,可以编辑 Navicat 的配置文件或环境变量。例如: - 设置环境变量 `TNS_ADMIN` 指向包含 `tnsnames.ora` 文件的目录。 - 确保系统 PATH 中包含 OCI 文件所在的路径[^4]。 #### 5. 重启 Navicat 并重新连接 完成上述步骤后,重启 Navicat 并尝试重新连接 Oracle 数据库。如果配置正确,应能够成功建立连接。 --- ### 注意事项 - 如果仍然出现错误,可能是由于操作系统位数(32 位或 64 位)与 OCI 文件不匹配导致。确保下载的 OCI 文件与操作系统和 Navicat 的版本一致[^2]。 - 在某些情况下,可能需要手动调整 Navicat 的连接参数,例如指定 TNS 名称或服务名[^1]。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值