Использовать tnsnames.ora в Oracle SQL Developer

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

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

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

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

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

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

Ответ 1

  • В 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.

Ответ 2

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

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

SQL Developer будет выглядеть в следующем расположении в этом порядке для файла tnsnames.ora

$HOME/.tnsnames.ora
    $ TNS_ADMIN/tnsnames.ora
    Поиск ключевого слова TNS_ADMIN в реестре
    /etc/tnsnames.ora(не-окна)
    $ ORACLE_HOME/сети/администратор/tnsnames.ora
    LocalMachine\SOFTWARE\ORACLE\ORACLE_HOME_KEY
    LocalMachine\SOFTWARE\ORACLE\ORACLE_HOME

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

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

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

Подтвердить, что os распознает эту переменную окружения

В командной строке Windows: echo% TNS_ADMIN%

Из linux: echo $TNS_ADMIN

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

Ответ 3

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

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

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

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