Я пытаюсь подключиться к базе данных Oracle с помощью SQL Developer.
Я установил драйверы .Net oracle и поместил tnsnames.ora
файл в
C:\Oracle\product\11.1.0\client_1\Network\Admin
Я использую следующий формат в tnsnames.ora:
dev =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = idpdev2)
)
)
В SQL Developer, когда я пытаюсь создать новое соединение, TNS-имена не отображаются в качестве параметров.
Что-то мне не хватает?
$TNS_ADMIN
КАТАЛОГ - это не настоящий.ora
файлОткройте SQL Developer. Перейдите в Инструменты -> Настройки -> Базы данных -> Дополнительно. Затем явно установите каталог Tnsnames.
Мой TNSNAMES был настроен правильно, и я мог подключиться к Toad, SQL * Plus и т. Д., Но мне нужно было сделать это, чтобы заставить SQL Developer работать. Возможно, это была проблема с Win 7, так как ее также было сложно установить.
источник
В SQLDeveloper просмотрите
Tools --> Preferences
, как показано на изображении ниже.В настройках ,
expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory
где присутствует tnsnames.ora .Затем нажмите ОК .
как показано на диаграмме ниже.
Теперь вы можете подключиться через параметры TNSnames .
источник
Вы всегда можете узнать местоположение используемого файла tnsnames.ora, запустив TNSPING для проверки подключения (9i или новее):
Иногда проблема заключается в записи, которую вы сделали в tnsnames.ora, а не в том, что система не может ее найти. Тем не менее, я согласен с тем, что наличие набора переменных среды tns_admin - это хорошо, поскольку оно позволяет избежать неизбежных проблем, возникающих при точном определении того, какой файл tnsnames используется в системах с несколькими домами оракулов.
источник
Шаги, упомянутые Джейсоном, очень хороши и должны работать. Однако в SQL Developer есть небольшая хитрость. Он кэширует спецификации подключения (хост, имя службы, порт) при первом чтении файла tnsnames.ora. Тогда это не делает спецификации недействительными, когда исходная запись удаляется из файла tnsname.ora. Кеш сохраняется даже после завершения работы и перезапуска SQL Developer. Это не такой уж нелогичный способ выхода из ситуации. Даже если файл tnsnames.ora временно недоступен, SQL Developer может установить соединение, пока исходные спецификации остаются верными. Проблема заключается в следующем маленьком повороте. SQL Developer обрабатывает имена служб в файле tnsnames.ora как значения с учетом регистра при разрешении соединения. Итак, если раньше у вас была запись с именем ABCD. world в файле, и вы заменили его новой записью с именем abcd.world, SQL Developer НЕ будет обновлять свои спецификации подключения для ABCD.world - он будет рассматривать abcd.world как совершенно другое соединение. Почему меня не удивляет, что продукт Oracle будет рассматривать как чувствительное к регистру содержимое файлового формата, разработанного Oracle, который явно не чувствителен к регистру?
источник
В Sql Developer перейдите к Tools-> preferences-> Datababae-> advanced-> Установите каталог Tnsname в каталог, содержащий tnsnames.ora
источник
Ни одно из вышеперечисленных изменений не имело никакого значения в моем случае. Я мог запустить TNS_PING в командном окне, но разработчик SQL не мог определить, где находится tnsnames.ora.
В моем случае (Windows 7 - 64-разрядная версия - Enterprise) проблема заключалась в том, что установщик Oracle указал ярлык меню «Пуск» на неправильную версию SQL Developer. Похоже, что установщик сопровождает три экземпляра SQL Developer. Один находится в% ORACLE_HOME% \ client_1 \ sqldeveloper \, а два - в% ORACLE_HOME% \ client_1 \ sqldeveloper \ bin \.
Установщик установил ярлык меню «Пуск», который указывал на версию в каталоге bin, которая просто не работала. Он запрашивал пароль каждый раз, когда я запускал SQL Developer, не запомнил сделанный мной выбор и отображал пустой список, когда я выбрал TNS в качестве механизма подключения. У него также нет поля TNS Directory в расширенных настройках базы данных, на которое есть ссылки в других сообщениях.
Я выбросил старый ярлык «Пуск» и установил ярлык для% ORACLE_HOME% \ client_1 \ sqldeveloper \ sqldeveloper.exe. Это изменение устранило проблему в моем случае.
источник