Подключите Oracle DB, используя имя_службы вместо SID, используя драйвер ojdbc14.jar в WebLogic Server 6.1 SP1 с JDK 3.
При работе с устаревшим приложением этот первый файл датируется 2005 годом. Он использовался для создания пула соединений, который сопоставляется с источником данных, с которым соединяется приложение,
URL: jdbc:oracle:thin:@host.test.intranet:1521:service_name
Driver Classname:oracle.jdbc.driver.OracleDriver
Properties(key=value):
user=makeduser
password=maskedpassword
dll=ocijdbc8
protocol=thin
ACLName: null
Недавно база данных была повторно размещена, и новые сведения о соединении изменились с SID на Service_name.
При попытке использовать тот же формат "host" port:sid"
Ошибка, которую он возвращает при запуске сервера weblogic. Не удается запустить пул соединений "veroPool" weblogic.common.ResourceException: Could not >create pool connection. Исключением драйвера СУБД было: java.sql.SQLException: исключение ввода-вывода: >Отказ в подключении (DESCRIPTION=(TMP=)(VSNNUM=318767104)(ERR=12505)(ERROR_STACK=(ERROR=>(CODE=12505)(EMFI=4))))
И при попытке использовать следующий формат:
jdbc:oracle:thin:@//NEWHOST.TEST.INTRANET:1521/NEW-SERVICE_NAME
Возвращенная ошибка:
Не удается запустить пул соединений "veroPool" weblogic.common.ResourceException: не удалось создать соединение с пулом. Исключением драйвера СУБД было: java.sql.SQLException: исключение ввода-вывода: недопустимый формат строки подключения, допустимый формат: «хост: порт: sid»
1 ответ
Эта версия драйвера не поддерживает имя службы, переданное в URL-адресе в этом формате, поэтому вам необходимо использовать SID. Попробуйте подключиться к БД и получить SID с помощью следующего запроса:
select sys_context('userenv','instance_name') from dual;
Затем вы можете использовать SID, возвращенный из запроса, в URL-адресе вашего подключения:
jdbc:oracle:thin:@host.test.intranet:1521:SID
В качестве альтернативы вы можете попробовать использовать следующий синтаксис, чтобы указать ваше соединение, которое поддерживает имя службы для этой версии драйвера:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = <HOST>)(PORT = <PORT>))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = <SERVICE_NAME>)))