天天看點

【程式設計】java jdbc/ojdbc 連結oracle的三種方式

  本文是一篇學習筆記,學習如何通過java jdbc /ojdbc 連接配接oracle的幾種方式。

一 使用方法

方法一:使用service_name 連接配接oracle  

jdbc:oracle:thin:@//:/ 

例如: jdbc:oracle:thin:@//10.10.10.1:1521/TDB

注意這裡的格式,@後面有//, 這是與使用SID的主要差別。

對于叢集來說,每個節點的SID 是不一樣的,但是SERVICE_NAME 确可以包含所有節點。

方法二: 使用SID 連接配接oracle 

jdbc:oracle:thin:@:: 

Example: jdbc:oracle:thin:@10.10.10.1:1521:testdb1 

注意 該方法已經不做推薦,oracle 官方推薦使用service_name 

方法三:使用tnsname 連接配接oracle

jdbc:oracle:thin:@ 

Example: jdbc:oracle:thin:@TESTDB 

二 源代碼

附錄:

[qilong.yangql@rac1 oracle]$ more tnsnames.ora

testdb=

  (DESCRIPTION =

    (FAILOVER = ON)

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.1)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.2)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.3)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.4)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.5)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.6)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = tdb)

  )

注意 本文裡面 service_name tdb 和tnsname (testdb) 故意設定的不一樣.

三  參考:

http://razorsql.com/docs/help_oracle.html