- 问题现象
- 在使用Mybatis连接数据库oracle数据库时出现了如下错误:
org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection; nested exception isorg.apache.commons.dbcp.SQLNestedException: Cannot createPoolableConnectionFactory (ORA-28040: No matching authentication protocol)]with root cause
- 原因分析
1.你安装的oracle版本不支持你设置的运行链接。
2.可能是引入了的ojdbc14.jar出错。
- 处理步骤
1.找到你Oracle安装包下的sqlnet.ora文件。(我的文件路径在:E:/app/yuanshu/product/12.1.0/dbhome_1/NETWORK/ADMIN/sqlnet.ora)可做参考。
2.为oracle数据库添加支持的版本链接。添加语句为:
SQLNET_ALLOWED_LOGON_VERSIONS=(12,11,10,9,8,7)
--注: 该语句表示支持oracle7-12版本的链接。
3.将ojdbc14.jar替换为ojdbc6.jar.
(ojdbc14.jar支持JDK1.4,是老式版本,当中存在一些bug。ojdbc6.jar支持JDK6)
- 效果
- 附录
- Oracle9.0以后的版本都建议使用:“oracle.jdbc.OracleDriver”加载驱动类,而不再使用“oracle.jdbc.driver.OracleDriver”