Когда я открываю окно "Проводник источника данных" и пытаюсь создать новый профиль подключения, я выбираю "Oracle", Oracle Thin Driver, а затем указываю на следующий JAR файл на своем ПК:
C:\oracle_12101_64bit\product\12101_64bit\CLIENT_1\jdbc\lib\ojdbc7.jar
После предоставления параметров подключения он получает URL-адрес соединения в следующем формате с помощью
jdbc:oracle:thin:@host:PORT:SID
Однако то, что я хочу получить, это это (обратите внимание на двоеточие вместо прямой косой черты)
jdbc:oracle:thin:@host:PORT/SID
Кажется, я могу подключиться к 11-граммовым базам данных, используя сгенерированный URL-адрес, но не 12c, я не знаю, случайно ли это, или у меня другая проблема.
В моей программе я использую JPA, и она считывает URL-адрес соединения из моего файла конфигурации в желаемом формате слэша в обратном направлении, и программа может подключаться и соединение терпит неудачу, если я изменяю URL-адрес, чтобы вместо этого использовать двоеточие.
Как создать профиль подключения в представлении проводника источника данных Eclipse, если я не могу управлять производным URL-адресом соединения для создания URL-адреса с косой чертой вместо двоеточия? Ошибка, которую я получаю:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
Обновление 1
Одна вещь, которую я заметил, состоит в том, что даже если я связываю файл jdbc7.jar, который поставляется с Oracle 12c, драйвер все еще отображается так, как будто это "Oracle 11".
Обновление 2:
Вот пример того, что находится в файле tnsnames.ora:
AFDEDEV.MYCO.COM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = servername.sys.MYCO.com)(PORT = 2))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = afdedev.MYCO.com)
)
)
Похоже, что построитель строк подключения ожидает только SID. что бы мой SID был или как я могу узнать? Я пробовал как AFDEDEV, так и AFDEDEV.MYCO.COM. В случае 11g, который работал, я использовал эквивалент AFDEDEV. Извините, я не очень хорошо разбираюсь в SIDs и SERVICE NAMES. Есть ли запрос, который я мог бы выполнить против db, чтобы сообщить мне SID?