关于PLSQL连接远程库时报错:ORA-28040: No matching authentication protocol 解决方案

关于PLSQL连接远程库时报错:ORA-28040:No matching authentication protocol 解决方案

问题:ORA-28040: No matching authentication protocol

说明:在配置远程连接数据库时出现ORA-28040: No matching authentication protocol  错误;

此错误表示客户端连接错误,

 

原因分析:

网上查了主要是说我电脑上orcale的客户端版本是11G的,而远程的是12C的,对应的版本不一致,所以会导致出现连接时报ORA-28040的没有匹配的认证协议错误,对此找了网上很多方法,都没用,最后在同事的帮助下完成连接,具体如下:

 

此方案只对以下配置有用(其他环境下没有测试)说明:

Windows7 64的系统,

Oracle 11G 64的客户端,

PLSQL Developer 12  64的管理工具

解决方案:

第一步:将instantclient_12_2 文件夹中拷贝到电脑上,记住存放的位置,然后在文件中找到tnsnames.ora  文件,用记事本打开,例如我的是在(D:\ instantclient_12_2\tnsnames.ora)

在最后文件的最后面加上下面一段代码:

 

数据库连接名=

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = ip地址就是要连接数据库的地址)(PORT =端口号))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = 数据库名)

    )

  )

例如我的是:

nontax =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 47.**.**.94)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = orcl)

    )

  )

第二步:打开PLSQL管理工具,此时应该是连接不上的直接跳过登陆,打开主面板,按下图代开首选项,在首选项面板上填写instantclient_12_2 文件存放的路劲,在下一栏目上填写instantclient_12_2 文件中的oci.dll文件路径,点击OK保存即可,重启PLSQL管理工具,就可以连接了。

 

第三步:如果上述方式没有效果,则表示需要将instantclient_12_2 文件的路径配置到环境变量中,保存后重启PLSQL即可,方法如下:

选择我的电脑,右键属性,高级系统设置,环境变量,在系统变量中新建一个,

变量名:TNS_ADMIN

值:instantclient_12_2 文件的路径

列入:

变量名:TNS_ADMIN

值:E:\instantclient_12_2

 

 

如果你是用的PLSQL的管理工具是32的就回报错:如下:

 

### 解决 PL/SQL 中遇到的 Ora-28040 错误 当尝试通过 PL/SQL Developer 连接Oracle 12.2 或更新版本,可能会收到 `ORA-28040: No matching authentication protocol` 的错误消息。此问题通常发生在较旧版本的客户端试图连接到具有更严格安全协议的新版数据库。 #### 修改 SQLNET.ORA 文件配置 为了使低版本的 PL/SQL 客户端能够成功连接至高版本的 Oracle 数据库,可以在服务器侧调整认证协议兼容性的设置。具体操作是在 `$ORACLE_HOME/network/admin/sqlnet.ora` 文件中修改或添加以下参数: ```plaintext SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 ``` 这行配置指示服务器接受来自最低支持版本为 8 的客户端请求[^3]。 对于某些环境而言,可能还需要同步更改客户端上的相应配置项来确保两端的安全策略一致: ```plaintext SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8 ``` 请注意,在生产环境中做出此类变更前应充分评估潜在风险并备份原始文件。 #### 更新 PL/SQL Developer 版本 另一个解决方案是升级使用的 PL/SQL Developer 到最新稳定版本。新版本往往包含了针对不同 Oracle 数据库版本优化过的驱动程序和支持特性,从而减少因不匹配而引发的各种异常情况[^2]。 #### 验证补丁级别 确认所使用的 Oracle Client 和 Server 是否已应用最新的 PSU (Patch Set Update) 补丁包。有官方发布的修复程序可以直接解决问题而不必改动任何配置文件[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值