Oracle JDBC連接服務名、SID和tnsnames.ora配置的多種方式


昨天,領導安排去新服務器上部署項目,給了我數據庫地址,服務名稱,端口,用戶名和密碼。結果數據庫一直連接不上,日志中的錯誤提示是監聽未找到SID,我才明白原來我jdbc.properties中需要的是SID,但我把服務名當作SID給配進去了,但是數據庫管理員只給我了服務名,但沒給我SID,當時搜了各種解決方案,網上說Oracle JDBC連接一共有三種方式,分別是:服務名、SID、TNSName的方式,但試過當時都沒連上(后來發現是我寫得格式不正確),最終只好聯系數據庫管理員要SID,才把項目部署完。

          今天回到公司,就像繼續驗證一下這些配置方式,結果發現都成功了,在此分享一下我的配置過程,例如數據庫服務名net_grid,SID是netgrid

一、通過plsql鏈接數據庫,配置的時候分別使用SERVICE_NAME和SID,都可以鏈接成功

二、jdbc配置,以下三中方式都可以成功連接數據庫

1.使用service_name,配置方式:jdbc:oracle:thin:@//<host>:1521/net_grid

2.使用SID,配置方式:jdbc:oracle:thin:@//<host>:1521/netgrid

3.使用SID,配置方式:jdbc:oracle:thin:@<host>:1521:netgrid

比較:1和2中當@后邊有雙斜杠,端口號后邊有單斜杠時,用服務名和實例名都可以鏈接成功,3中@后邊沒有雙斜杠,端口號后邊是冒號而不是斜杠的時候只能用實例名,當時筆者配置錯誤的時候是 jdbc:oracle:thin:@//<host>:1521:netgrid ,端口號后直接用了冒號。


免責聲明!

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



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