中间件连接Oracle12c数据库报错ORA-28040: No matching authentication protocol

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:1011

中间件连接Oracle12c数据库报错ORA-28040: No matching authentication protocol :

因为客户端程序比较老还是用的jdk1.5,所以不能使用Oracle 12c自带的JDBC驱动,但是在使用老的JDBC驱动连接Oracle的时候出现下面的错误 ORA-28040: No matching authentication protocol

官方的解释:
ORA-28040: No matching authentication protocol
[font=inherit]Cause: There was no acceptable authentication protocol for either client or server.[font=inherit]
[font=inherit]Action: The administrator should set the values of the SQLNET.ALLOWED_LOGON_VERSION_SERVER and SQLNET.ALLOWED_LOGON_VERSION_CLIENT parameters, on both the client and on the server, to values that match the minimum version software supported in the system. This error is also raised when the client is authenticating to a user account which was created without a verifier suitable for the client software version. In this situation, that account's password must be reset, in order for the required verifier to be generated and allow authentication to proceed successfully.
解决办法:

1、如果是ORACLE10g的版本,则是JDBC的一个bug,应用JDBC Driver Patch (6779501)

2、如果是11g/12c的版本,则编辑 $ORACLE_HOME/network/admin/sqlnet.ora文件,如果没有可以创建一个新的,加入下面的参数[backcolor=transparent]SQLNET.ALLOWED_LOGON_VERSION=8
[backcolor=transparent]SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
[backcolor=transparent]SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

[backcolor=transparent][font=Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, sans-serif][color=#7d2727]修改SQLNET.ALLOWED_LOGON_VERSION重监听生效。

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】