【问题标题】:ora-28040 no matching authentication protocol from Oracle client 12C to Oracle Database 19cora-28040 没有从 Oracle 客户端 12C 到 Oracle 数据库 19c 的匹配身份验证协议
【发布时间】:2020-09-20 19:24:27
【问题描述】:
我们最近将数据库迁移到 19c。有一些使用 system.data.oracleclient 连接到 Oracle db 的 .net 应用程序。安装的Oracle客户端版本为12C。数据库升级后,.net 应用程序由于 ORA-28040 No matching authentication protocol 错误而无法连接到数据库。
【问题讨论】:
标签:
asp.net
oracle19c
system.data.oracleclient
【解决方案1】:
您的 Oracle 客户端默认与升级后的数据库不兼容;它不会将您的密码散列到最新、最安全的标准。您需要将客户端升级到 12cR2 或更高版本,或者将以下行添加到数据库服务器上的 sqlnet.ora 以强制它接受旧的(不太安全的)密码哈希:
sqlnet.allowed_logon_version_server=12
sqlnet.allowed_logon_version_client=12
如果这仍然不起作用,您可以尝试将值设置为“11”,但出于安全原因,请不要低于该值。