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

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

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

1、經過plsql連接數據庫,配置的時候分別使用SERVICE_NAME和SID,均可以連接成功sql

2、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 ,端口號後直接用了冒號。數據庫

相關文章
相關標籤/搜索