JDBC 的三種用法,推薦一種簡單的用法【通用】

JDBC thin的三種連接格式:
jdbc:oracle:thin:@//<host>:<port>/<service_name>  
注意:@後有  //,這是與 使用SID的主要區別。
格式是Oracle 推薦的格式,因爲對於集羣來說,每個節點的SID 是不一樣的,但是SERVICE_NAME 確可以包含所有節點

jdbc:oracle:thin:@ip:端口:實例名    [實例名是database的instance_name]

jdbc:oracle:thin:@<TNS_ALIAS_NAME>
TNS_ALIAS_NAME  的實現可以在oracle軟件(完整的DB軟件或客戶端)中用tnsnames.ora參數文件來配置,也可用如下 格式:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL= TCP)(HOST=hostA)(PORT= 1522))(ADDRESS=(PROTOCOL=TCP)(HOST=your host)(PORT=1521)))(LOAD_BALANCE = yes)(CONNECT_DATA= (SERVER = DEDICATED)(SERVICE_NAME=your service_name)))

 

 

強烈推薦使用第1種,不要用第二種!

第3種也可以,對使用者有一定知識要求。

 

thin的第三種格式實現TNS_ALIA_NAME

用tnsnames.ora的示例:

String dbUrl = "jdbc:oracle:thin:@dvd";

 

報錯如下:

java.sql.SQLException: Unknown host specified

該問題是因爲JVM 沒有oracle.net.tns_admin的system property。

解決方法有2種:

方法一:在啓動VM 時添加如下參數: 

-Doracle.net.tns_admin=D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

方法二:在java 代碼裏添加:

System.setProperty("oracle.net.tns_admin","D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN");

方法三:設置環境變量TNS_ADMIN  ,地址爲方法一後面等號值。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章