Используйте tnsnames.ora в Oracle SQL Developer - PullRequest
129 голосов
/ 07 января 2010

Я оцениваю Oracle SQL Developer .

My tnsnames.ora заполняется, и tnsping для соединения, определенного в tnsnames.ora, работает нормально. Тем не менее, SQL Developer не отображает никаких соединений.

Oracle SQL Developer Soars упоминает, что если

на вашем компьютере уже установлено клиентское программное обеспечение Oracle и файл tnsnames.ora, Oracle SQL Developer автоматически заполнит навигатор Connections из имен сетевых служб, определенных в tnsnames.ora.

Я также попытался установить переменную окружения TNS_ADMIN, но после перезапуска SQL Developer все еще не отображаются соединения.

Есть идеи?
Кто-нибудь успешно работает с SQL Developer и tnsnames.ora?

Ответы [ 4 ]

209 голосов
/ 23 июля 2012
  • В SQLDeveloper , просмотрите Tools --> Preferences, как показано на изображении ниже.

    SQLDeveloper access preferences

  • В настройках expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory, где tnsnames.ora присутствует.
  • Затем нажмите ОК , как показано на рисунке ниже.
    tnsnames.ora доступно по Drive:\oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper update tnsnames directory

Теперь вы можете подключиться с помощью TNSnames .

22 голосов
/ 07 января 2010

Этот отличный ответ на похожий вопрос (который я, к сожалению, не смог найти раньше) помог мне решить проблему.

Копирование содержимого из указанного ответа:

Разработчик SQL будет искать в следующем месте файл tnsnames.ora в следующем порядке

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora
Ключ поиска TNS_ADMIN в реестре
/etc/tnsnames.ora (не для windows)
$ ORACLE_HOME / сети / администратор / tnsnames.ora
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LocalMachine \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ ORACLE \ ORACLE_HOME

Если ваш файл tnsnames.ora не распознается, используйте следующую процедуру:

Определите переменную окружения TNS_ADMIN, чтобы она указывала на папку, в которой находится файл tnsnames.ora.

В Windows это делается путем перехода в Панель управления> Система> Расширенные настройки системы> Переменные среды ...
В Linux определите переменную TNS_ADMIN в файле .profile в вашем домашнем каталоге.

Подтвердите, что ОС распознает эту переменную среды

Из командной строки Windows: echo% TNS_ADMIN%

из linux: echo $ TNS_ADMIN

Перезапустите SQL Developer Теперь в SQL Developer щелкните правой кнопкой мыши Соединения и выберите Новое соединение .... Выберите TNS в качестве типа соединения в раскрывающемся списке. Ваши записи из tnsnames.ora теперь должны отображаться здесь.

6 голосов
/ 24 февраля 2012

У меня была та же проблема, tnsnames.ora отлично работала для всех других инструментов, но SQL Developer не использовал ее. Я перепробовал все предложения в Интернете, которые могли найти, включая решения по ссылке, приведенной здесь.
Ничего не сработало.

Оказывается, что база данных кэшировала резервные копии tnsnames.ora, например tnsnames.ora.bk2, tnsnames09042811AM4501.bak, tnsnames.ora.bk и т. Д. Эти файлы не были доступны для чтения обычному пользователю.

Я подозреваю, что sqldeveloper соответствует шаблону для имени, и он пытался прочитать одну из этих резервных копий и не смог. Так что он просто изящно терпит неудачу и ничего не показывает в выпадающем списке.

Решение состоит в том, чтобы сделать все файлы читаемыми, удалить или переместить резервные копии из каталога администратора.

2 голосов
/ 08 июня 2012

Это помогло мне:

Опубликовано: 12.08.2011 4: 54

Установить каталог tnsnames Инструменты-> Настройки-> База данных-> Дополнительно-> Каталог Tnsnames

https://forums.oracle.com/forums/thread.jspa?messageID=10020012&#10020012

...