分析解决JDBC连接ORACLE12c报错ORA-01017或Oracle ORA-28040问题,亲测有效
报错解释:
ORA-01017: invalid username/password; logon denied
解释:无效的用户名/密码;登录被拒绝。
原因:尝试连接数据库时提供的用户名或密码不正确。
Oracle ORA-28040: No matching authentication protocol
解释:没有匹配的认证协议。
原因:客户端和服务器之间的认证协议不兼容。
解决方法:
对于ORA-01017错误:
- 确认提供给JDBC的用户名和密码是否正确。
- 确认数据库用户账号状态是否有效。
- 确认是否使用了正确的服务名(如果使用了服务名)。
- 如果用户账号被锁定或密码过期,处理相应的状态(解锁或更改密码)。
对于Oracle ORA-28040错误:
- 确认客户端和服务器端的Oracle版本是否兼容,如果不兼容,升级其中一个至兼容版本。
- 如果客户端和服务器都是较新版本,可能需要调整SQLNET.ORA文件中的参数,如
SQLNET.ALLOWED_LOGON_VERSION
,以允许较低版本的协议。 - 确认是否使用了正确的认证协议。如果需要,更新JDBC连接字符串,指定认证协议,如
oracle.net.authentication_services
。
在进行任何更改后,重新尝试连接数据库以验证问题是否已解决。
评论已关闭