#oracle #nextep
#Oracle #следующий шаг
Вопрос:
Я использую программное обеспечение версии базы данных neXtep. Это позволяет мне отслеживать изменения как схемы, так и данных между «экземплярами» Oracle. Для этого запрашивается информация о подключении, но имеющаяся у меня информация о подключении выдает ошибку ORA-12505.
Это скриншот диалогового окна подключения в том виде, в каком я его заполнил. https://paste.pics/555XJ
URL-адрес JDBC является
jdbc:oracle:oci:@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=22.33.44.55)(PORT=1541))(CONNECT_DATA=(SERVICE_NAME=MY_SERVICE_NAME)))
Программное обеспечение NeXtep Designer
Версия: 3.6.1.v20100908-1100-4507w31211A2403131
Идентификатор сборки: 201009132020
Oracle Database 12c Enterprise Edition Выпуск 12.1.0.2.0 — 64-разрядная версия
Как бы то ни было, у меня локально не установлен Oracle, поэтому я никогда не настраивал этот файл tnsnames.ora и не знаю, нужен ли он мне.
Я не видел способа просто вставить URL-адрес JDBC, но надеюсь, что его можно восстановить на основе полей в диалоговом окне.
Я ожидаю, что результатом будет успешное подключение. Когда я тестирую соединение, я получаю «Статус: Сбой! Прослушиватель повторно установил соединение со следующей ошибкой: ORA-12505, TNS: прослушиватель в настоящее время не знает SID, указанный в дескрипторе подключения «
Комментарии:
1. Если у вас нет клиента Oracle (и, следовательно, tnsnames.ora), вам придется использовать тонкий драйвер. Попробуйте:
jdbc:oracle:thin:@//22.33.44.55:1541/MY_SERVICE_NAME
или — в зависимости от версии Oracle и конфигурации — используйте SID вместо имени службы2. Программа не позволяет мне указать драйвер, и я не уверен, что он использует в данный момент. Было бы проще или возможно загрузить бесплатный клиент Oracle для решения этой проблемы?
3. Вы не указываете «драйвер», вы просто используете другой URL JDBC (который сообщает существующему драйверу JDBC использовать другую реализацию протокола). Если вы не можете указать URL, то как вы указали тот, который указан в вашем вопросе? Вы пытались указать SID вместо имени службы?
4. Мне было предоставлено только диалоговое окно. Приведенный выше URL-адрес JDBC взят из исходного кода проекта. Большинство программ, которые взаимодействуют с базой данных, предоставляют место, где можно просто указать ей URL-адрес JDBC и покончить с этим, но не с этой.
5. Еще раз: вы пробовали использовать SID вместо имени службы?