【JDBC】TNS:listener does not currently know of SID given in connect descriptor


報錯內容:

  e.getMessage()=== Listener refused the connection with the following error: ORA-12505,

  TNS:listener does not currently know of SID given in connect descriptor

//ORA-12505: TNS: 監聽程序當前無法識別連接描述符中所給出的SID

 

更換數據源時,出現了以上錯誤。

 

說明給到的sid有誤,很有可能就是服務名和sid混淆使用。

在網上搜到了以下三種JDBC寫法:

格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
格式二:jdbc:oracle:thin:@<host>:<port>:<SID>
格式三:jdbc:oracle:thin:@<TNSName>


第一種是監聽服務名,第二種是監聽sid服務

原始數據源使用的是sid的寫法,因此替換時把服務名當做了sid,但新數據源給的是service_name,所以發生了上述錯誤

 

解決方案:

按照格式一的方式,修改jdbc的寫法后,可以正常訪問。

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM