旧客户端连接Oracle 21c遇ORA-28040与ORA-01017错误求助
问题:JBOSS/Tomcat/J2EE客户端连接Oracle 21c失败
背景
- 现有JBOSS/Tomcat/J2EE(Jakarta EE)客户端,此前可连接同事电脑上的旧版本Oracle数据库,原使用驱动
ojdbc14.jar,./WEB-INF/lib/目录下存有ojdbc7.jar.bak备份文件 - 当前需求:连接本地安装的Oracle 21c数据库,但连接失败
已尝试操作及对应错误
sqlnet.ora配置调整
尝试过以下配置的多种组合:
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8(也试过10、11、12及12a) SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8(也试过10、11、12及12a) SQLNET.AUTHENTICATION_SERVICES= (none)
- 仅当设置
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8时,错误发生变化:从ORA-28040: No matching authentication protocol变为ORA-01017: invalid username/password; logon denied
密码重新哈希操作
执行以下语句尝试根据SQLNET.ALLOWED_LOGON_VERSION_SERVER版本重新哈希密码:
SET USER uname IDENTIFIED BY "pwd";
操作后问题未解决
驱动版本更换
先后替换为ojdbc14.jar、ojdbc7.jar、ojdbc8.jar、ojdbc11.jar等不同版本驱动,均无效果
登录大小写敏感设置尝试
针对ORA-01017错误,尝试执行:
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
收到错误ORA-02065: illegal option for ALTER SYSTEM,查阅Oracle 21c文档得知该语句已被弃用
核心疑问
- 是否遗漏了某些配置项,可让客户端成功连接Oracle 21c?
- 为保障未来兼容性,是否有简便方法让客户端使用Exclusive Mode认证协议?
内容的提问来源于stack exchange,提问作者GrandInformation
相关产品推荐
相关产品推荐

