日期:2014-05-16 浏览次数:20675 次
jdbc连接oracle的连接串如下:
String url="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521)) (LOAD_BALANCE = yes)(FAILOVER = ON) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = db.domain) (FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))";
?
假定有以下 Oracle RAC 配置: Sid = slrac SLRAC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.231)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.230)(PORT = 1521)) (LOAD_BALANCE = yes) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = slrac.beta.com) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) ) ) ) SLRAC2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.230)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = slrac.beta.com) (INSTANCE_NAME = slrac2) ) ) SLRAC1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.231)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = slrac.beta.com) (INSTANCE_NAME = slrac1) ) )?
则JDBC URL 的配置如下:
jdbc:oracle:thin:@(description=(address_list= (address=(host=192.168.1.231) (protocol=tcp)(port=1521))(address=(host=192.168.1.230)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= slrac.beta.com)))
?
? java测试程序如下:
?
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test { public static void main(String arg[]) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db.domain)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))"; Connection c = DriverManager.getConnection(url,"aa","aa"); Statement s = c.createStatement(); ResultSet r = s.executeQuery("select 1 from dual"); while(r.next()) { System.out.println(r.getString(1)); } }catch(Exception e) { System.out.println(e.toString()); } } }