ojdbc8 DB_URL用于故障转移

时间:2019-05-29 14:45:49

标签: java oracle jdbc

我正在使用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);

*关于如何解决的任何建议? *

1 个答案:

答案 0 :(得分:0)

这不能仅通过JDBC连接URL来完成,您至少需要在客户端中启用通用连接池(UCP)。

您应该先阅读文档中的10.1.1 Configuring Fast Connection Failover for JDBC Clients一章。确保阅读特定于您的数据库版本的文档,因为JDBC驱动程序可能具有不同的功能,例如11g中的odjcb6与12c中的ojdbc8。