最近使用Spring boot,本來一直連接的是mysql數據庫,一直沒問題。昨天在更換了oracle數據庫后,一直提示賬號密碼不正確,登錄被拒絕。檢查多次,檢查賬號密碼一切正常,但就是連接不上oracle.
java.sql.SQLException: ORA-01017: invalid username/password; 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)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1570)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1636)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2505)
沒辦法,只能從最根本的地方入手,終於,在DBconfig.java中配置數據源的值仍然是mysql,沒修改,馬上動手修改。

啟動項目,測試,發現問題仍在,這就奇怪了,然后在debug,看數據源信息,這才發現問題所在,如圖:

什么?密碼竟然是一個0?我配置文件的密碼明明是6個0啊,怎么辦呢,因為才學着使用springboot,就試着給配置文件的密碼加了引號 ‘000000’

保存,重新啟動項目,檢查數據源,沒問題。

打開數據庫相關操作,果然正常!!!
在之前接觸的配置文件中配置000000是絕對沒問題的,我為什么在yml中6個0會被變成1個0?簡直是坑啊。
具體原因沒有深究,可能是yml文件會吧純數字的字符串當數字處理吧。
