Используйте tnsnames.ora в Oracle SQL Developer

102

Я оцениваю 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?

  • 0
    Я скачал и установил Oracle SQL Developer для подключения к уже существующей базе данных Oracle 11g. Но, похоже, мне нужно будет также загрузить и установить клиентское программное обеспечение Oracle, какое мне использовать, если я нахожусь на Windows 10?
Теги:
oracle-sqldeveloper
tnsnames

4 ответа

190
Лучший ответ
  • В SQLDeveloper просмотрите Tools --> Preferences, как показано на рисунке ниже.

    Изображение 7136

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

    Изображение 7137

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

  • 3
    всем, просто небольшое обновление этого старого (но весьма полезного) поста: не пытайтесь использовать символическую ссылку в Windows. Разработчик SQL, похоже, не знает, как его использовать. Заставил меня потерять время. Надеюсь, это спасет тебя.
  • 0
    @ Hellday5432 - Да, это правильно. SQL Dev работает на Java, который не понимает ярлыки; например, при открытии файла мы не можем использовать ярлык для перехода в каталог.
Показать ещё 7 комментариев
19

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

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

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
    Я знаю, что это было давно, но вы можете вытащить соответствующую часть ответа здесь? На всякий случай этот ответ (или даже вопрос) когда-либо будет удален.
  • 1
    в основном это округление до установки системной переменной TNS_ADMIN (потому что SQL Developer ищет там ~ сначала) и после перезапуска SQL Developer, выбора New Connection и в раскрывающемся списке Тип соединения вместо Basic, выбор TNS-so-tnsnames выглядит хорошо, но Вы не должны ожидать, что соединения будут заполнены автоматически (это было со мной)
Показать ещё 1 комментарий
3

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

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

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

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

  • 0
    Это, наверное, именно то, что вы видите. SQL Plus и SQL Developer оба видят / разбирают / читают tnsnames - так что, если кто-то плохой, это может привести к каскаду и вызвать вашу проблему.
1

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

Опубликовано: 8/12/2011 4:54

Установить каталог tnsnames tools- > Preferences- > Database- > advanced- > Tnsnames Directory

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню