说明:在开发过程中遇到一个问题,项目数据库使用得是gbase数据库,但是根据项目需求,需要连接另一个平台oracle数据库,开发本机环境使用jdbc连接oracle数据库正常,但是发布到测试服务器报出以下问题:
java.sql.SQLException: ORA-01005: 给出空口令; 登录被拒绝
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:559) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:554) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1376) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:782) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:450) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1553) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1302) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1256) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:1273) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:1222) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:667) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1042) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:90) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:733) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:649) ~[ojdbc8-21.4.0.0.1.jar:21.4.0.0.1]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) [HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) [HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) [HikariCP-3.2.0.jar:na]
注:此处只粘贴部分错误
针对此问题搜寻多方无果,但是偶然看到csdn有个兄弟遇到同样的问题,说是通过替换oracle数据库驱动就可解决,在没有其他办法的情况下我替换了驱动发现问题解决,具体原因还不清楚,在此放下我的环境版本为后来的兄弟提供参考:
本地开发jdk版本:1.8.0_181
测试环境jdk版本:1.8.0_261
oracle数据库:11g(11.2.0.4.0)
测试环境失败驱动版本:ojdbc8-21.4.0.0.1
替换后的驱动版本:ojdbc6-11.2.0.4
替换低版本驱动后问题解决!