我正在使用 Hikari 创建数据库连接池,它在应用程序启动时成功连接并创建连接池。应用程序也工作正常,但我间歇性地收到 ORA-01005:给定的密码为空;登录被拒绝问题
以下是一些细节
数据库->
驱动程序->
这就是我创建数据源的方式
将密码作为字符串变量传递。 (不为 null 且不为空)
@Bean(name = "testDataSource")
@ConfigurationProperties(prefix = "ccb.test.datasource")
public DataSource dataSourceAPAC() {
logger.info("Attempting to Initialize TEST datasource");
return DataSourceBuilder.create().password("*******").build();
}
错误日志
*java.sql.SQLException: ORA-01005: null password given; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:445)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:380)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:760)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)*
通过将 Oracle JDBC 驱动程序升级到 12.1.0.1 版本解决了此问题。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1</version>
</dependency>
我对此配置也有同样的问题:
我通过将 JDK 升级到版本 11 解决了我的问题