【转自http://blog.csdn.net/b_h_l/article/details/7671654】
目前手头上的一个项目需要连接的数据库是一个双机负载平衡设置的oracle数据库,使用普通的连接字符串jdbc:oracle:thin:@ip:port:SID的形式不能成功连接,必须要使用如下的形式
- jdbc:oracle:thin:@(DESCRIPTION =
- (LOAD_BALANCE = YES)
- (FAILOVER = ON)
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = servicename)
- )
- )
和单机的tns比较可以发现多出了(LOAD_BALANCE = YES)(FAILOVER = ON)以及(SERVICE_NAME = servicename)这几个值,前面两个不解释(我也不知道什么意思),主要看后面的SERVICE_NAME。
我们连接单机的oracle数据库时,这个值通常都是SID=***的形式。SID是数据库的实例名,SERVICE_NAME是从客户端连接数据库时的别名,它可以对应多个SID(本例中即是如此,更多关于两者的详细资料请自行google)。因此在双机环境当中,我们就需要SERVICE_NAME去连接数据库了。
此外,在使用plsql developer连接该服务时,tns只需要有SERVICE_NAME的值就可以成功连接了,这和JDBC连接稍微有点区别。
实例:
private String url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.112)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.113)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on))(CONNECT_DATA=(SERVICE_NAME=GADB)))";
private String user="GATI";
private String pwd="GATI";
private Connection conn;
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pwd)
分享到:
相关推荐
Flink JDBC Connector 支持Oracle , Flink 1.13.6 支持Oracle 11.2.0.4
从远程oracle数据库取数据是乱码,因为远程oracle字符集为AMERICAN_AMERICA.US7ASCII 本地oracle字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 所以是乱码,解决办法请下载文档 多谢 因为要下载其他资源无分 多多...
NULL 博文链接:https://joinyo.iteye.com/blog/1947696
如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数 据。...本文将为大家介绍通过JDBC连接Oracle数据库的十大技巧。
使用JDBC连接Oracle数据库使用JDBC连接Oracle数据库
主要介绍了Java使用Jdbc连接Oracle执行简单查询操作,结合实例形式详细分析了java基于jdbc实现Oracle数据库的连接与查询相关操作技巧,需要的朋友可以参考下
JDBC连接Oracle数据库常见问题及解决方法
JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集
jdbc连接oracle jar包 Java JDBC连接Oracle 11g的jar包
JDBC连接Oracle测试 package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DB { private static Connection conn; private static ...
JDBC连接ORACLE数据库 源码
jdbc连接oracle简单示例(环境为eclipse+oracle)
通过JDBC连接oracle数据库的十大技巧
JDBC连接oracle数据库
JDBC连接Oracle数据库的代码和编写JDBC的经验
JDBC——连接oracle数据库
jdbc连接oracle,执行存储过程,带数据库存储过程,代码是详细的源码,读取配置文件,连接jdbc,执行存储过程。
JDBC连接oracle和mysql的jar包。JDBC连接oracle和mysql的jar包。JDBC连接oracle和mysql的jar包。
jdbc连接数据库的三种方式。不一定非要用实例ID奥
java中jdbc连接oracle代码及jar包