对于Oracle的JDBC连接,是支持EZ-Connect写法的,即jdbc:oracle:thin:@Server:1521/Database
但对于Oracle 11gR2 RAC系统,如果Server用了ScanName,Database用了数据库的ServiceName,并不能连接到数据库,而是报SID错误。
原因可能是此种写法,JDBC将Database解析为了数据库的SID。
经多方测试,可用如下写法实现11GR2的数据库连接的负载均衡:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = scan-name)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = DatabaseServiceName)))
但对于Oracle 11gR2 RAC系统,如果Server用了ScanName,Database用了数据库的ServiceName,并不能连接到数据库,而是报SID错误。
原因可能是此种写法,JDBC将Database解析为了数据库的SID。
经多方测试,可用如下写法实现11GR2的数据库连接的负载均衡:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = scan-name)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = DatabaseServiceName)))
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/81227/viewspace-1267712/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/81227/viewspace-1267712/