Використовуйте tnsnames.ora в Oracle SQL Developer


137

Я оцінюю розробник Oracle SQL .

Моє tnsnames.oraзаповнене, і tnspingз'єднання, визначене в tnsnames.oraроботі, чудово працює. Тим не менш, SQL Developer не відображає ніяких з'єднань.

Oracle SQL Developer Soars згадує, що якщо

у вас на вашому пристрої вже встановлено клієнтське програмне забезпечення Oracle та файл tnsnames.ora, розробник Oracle SQL автоматично заповнить навігатор Connections з чистих імен служб, визначених у tnsnames.ora.

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

Будь-які ідеї?
Хтось успішно працює з SQL Developer та tnsnames.ora?


Я завантажив і встановив розробник Oracle SQL для підключення до вже існуючої бази даних Oracle 11g. Але здається, що мені потрібно буде також завантажити та встановити клієнтське програмне забезпечення Oracle, яке з них використовувати, якщо я перебуваю на Windows 10?
VoodooChild

Відповіді:


219
  • У SQLDeveloper переглядайте Tools --> Preferences, як показано на зображенні нижче.

    Параметри доступу SQLDeveloper

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

    Каталог оновлень tnsnames оновлення SQLDeveloper

Тепер ви можете підключитися за допомогою параметрів імен TNS .


4
всі, лише невелике оновлення цієї старої (але цілком корисної) публікації: не намагайтеся використовувати символічне посилання на Windows. Розробник SQL, схоже, не знає, як ним користуватися. Змусив мене втратити час. Сподіваюся, що це врятує ваше.
Hellday5432

@ Hellday5432 - Так, це правильно. SQL Dev працює на Java, яка не розуміє ярликів; наприклад, відкриваючи файл, ми не можемо використовувати ярлик для переходу до каталогу.
Кент Павар

5
Ярлик Windows! = Символічне посилання. howtogeek.com/howto/16226/…
Метт

Я завантажив і встановив розробник Oracle SQL для підключення до вже існуючої бази даних Oracle 11g. Але здається, що мені потрібно буде також завантажити та встановити клієнтське програмне забезпечення Oracle, яке з них використовувати, якщо я перебуваю на Windows 10?
VoodooChild

Я не бачу параметр каталогу Tnsnanes у своїй версії 1.5.5 для SQL Developer.
Аміт Чаурасія

24

Ця відмінна відповідь на подібне запитання (яке я раніше, на жаль, не міг знайти), допомогла мені вирішити проблему.

Копіювання вмісту з посилається на відповідь:

SQL Developer буде шукати в такому порядку в такому порядку для файлу tnsnames.ora

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora
TNS_ADMIN ключ пошуку в реєстрі
/etc/tnsnames.ora (не вікна)
$ ORACLE_HOME / network / admin / 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 зараз у SQL Developer правою кнопкою миші клацніть Підключення та виберіть Нове з'єднання .... Виберіть TNS як тип з'єднання у спадному вікні. Тепер ваші записи з tnsnames.ora мають відображатися тут.


3
Я знаю, що минув певний час, але чи можете ви тут витягнути відповідну частину відповіді? Про всяк випадок, коли ця відповідь (або навіть питання) коли-небудь буде видалена.
Денніс Менг

1
в основному він округляє до встановлення системної змінної TNS_ADMIN (оскільки SQL Developer шукає там ~ спочатку), а після перезапуску розробника SQL вибирає Нове з'єднання, а у спадному списку Тип підключення замість Основного вибирає TNS - так - імена tns бачиться добре, але не варто сподіватися, що з'єднання
заповняться

пошук взяв мене за неї, тому оновили відповідь, оскільки вже є посилання на автора @DennisMeng
TheGameiswar

7

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

Виявляється, що база даних була кешування резервних копій , tnsnames.oraяк tnsnames.ora.bk2, tnsnames09042811AM4501.bak,tnsnames.ora.bk і т.д. Ці файли не були доступні для читання середнього користувача.

Я підозрюю, що sqldeveloper відповідає зразком для імені, і він намагався прочитати одну з цих резервних копій, і не зміг. Тож воно просто виходить витончено і нічого не показує у випадаючому списку.

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


Це, мабуть, саме те, що ви бачите. SQL Plus і SQL Developer бачать / розбирають / читають tnsname - тож, якщо це погано, це може прийти вниз і призвести до вашої проблеми.
thatjeffsmith


0

На новіших версіях macOS також потрібно встановити java.library.path. Найпростіший / найбезпечніший спосіб зробити це [1] - створити ~/.sqldeveloper/<version>/sqldeveloper.confфайл і заповнити його як такий:

AddVMOption -Djava.library.path=<instant client directory>

[1] https://community.oracle.com/message/14132189#14132189

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.