我正在使用ojdbc8驱动程序,该驱动程序的连接字符串格式如下:
"jdbc:oracle:thin:@amrood:1521:EMP"
但是,我想使用以下格式的故障转移连接字符串:
"jdbc:oracle:thin:@(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = site1)
(PORT = 1521)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = site2)
(PORT = 1521)
)
)
(FAILOVER=ON)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD=BASIC)
(RETRIES=20)
(DELAY=3)
)
(LOAD_BALANCE = OFF)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MYDB)
)
)"
。 当我使用故障转移格式时,出现错误消息: “无效的连接字符串格式,有效格式为:“ host:port:sid”“
none故障转移连接字符串正在工作:
String URL = "jdbc:oracle:thin:@amrood:1521:EMP";
String USER = "username";
String PASS = "password"
Connection conn = DriverManager.getConnection(URL, USER, PASS);
*关于如何解决的任何建议? *
答案 0 :(得分:0)
这不能仅通过JDBC连接URL来完成,您至少需要在客户端中启用通用连接池(UCP)。
您应该先阅读文档中的10.1.1 Configuring Fast Connection Failover for JDBC Clients一章。确保阅读特定于您的数据库版本的文档,因为JDBC驱动程序可能具有不同的功能,例如11g中的odjcb6与12c中的ojdbc8。