ojdbc8 DB_URL для отработки отказа - PullRequest
0 голосов
/ 29 мая 2019

Я использую драйвер 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)
  )
)"

.когда я использую формат отработки отказа, я получаю сообщение об ошибке: «Недопустимый формат строки подключения, допустимый формат:« хост: порт: sid »«

нет ни одна строка подключения при сбое, которая работает:

String URL = "jdbc:oracle:thin:@amrood:1521:EMP";
String USER = "username";
String PASS = "password"
Connection conn = DriverManager.getConnection(URL, USER, PASS);

* какие-либо предложения о том, как ее решить?*

1 Ответ

0 голосов
/ 29 мая 2019

Этого нельзя сделать только с помощью URL-адреса соединения JDBC, вам потребуется, по крайней мере, универсальный пул соединений (UCP) для включения в клиенте.

Вам следует начать с прочтения главы 10.1.1 Настройка быстрого переключения при сбое подключения для клиентов JDBC в документации. Обязательно прочитайте документацию, относящуюся к вашей версии базы данных, поскольку драйвер JDBC может иметь различные функции, например, odjcb6 в 11g против ojdbc8 в 12c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...