Nazwy Oracle TNS nie są wyświetlane podczas dodawania nowego połączenia do SQL Developer

Próbuję połączyć się z bazą danych oracle za pomocą programisty SQL.

Zainstalowałem sterowniki. Net Oracle i umieściłem plik tnsnames.ora na
C:\Oracle\product\11.1.0\client_1\Network\Admin

Używam następującego formatu w tnsnames.ora:

dev =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = idpdev2)
    )
  )

W SQL Developer, kiedy próbuję utworzyć nowe połączenie, żadne nazwy TNS nie pojawiają się jako opcje.

Czy coś mi umyka?
Author: Peter Lang, 2009-01-08

7 answers

Programista SQL będzie szukać w następującej lokalizacji w tej kolejności dla tnsnames.plik ora

  1. $HOME/.tnsnames.ora
  2. $TNS_ADMIN/tnsnames.ora
  3. Klucz wyszukiwania TNS_ADMIN w rejestrze
  4. /etc / tnsnames.ora (non-windows)
  5. $ORACLE_HOME/network/admin / tnsnames.ora
  6. LocalMachine\SOFTWARE\Oracle\ORACLE_HOME_KEY
  7. LocalMachine\SOFTWARE\Oracle\ORACLE_HOME

Aby zobaczyć, którego programisty SQL używa, wydaj polecenie show tns w the worksheet

Jeśli Twoje tnsname.plik ora nie jest rozpoznawany, użyj następującej procedury:

  1. Zdefiniuj zmienną środowiskową o nazwie TNS_ADMIN , aby wskazać folder zawierający Twoje nazwy.plik ora.

    W systemie Windows odbywa się to poprzez przejście do Panelu sterowania > System > Zaawansowane ustawienia systemu > zmienne środowiskowe...

    W Linuksie zdefiniuj zmienną TNS_ADMIN w the .plik profilu w katalogu domowym.

  2. Potwierdź, że os rozpoznaje tę zmienną środowiskową

    Z wiersza poleceń systemu Windows: echo %TNS_ADMIN %

    Z Linuksa: echo $TNS_ADMIN

  3. Restart SQL Developer

  4. teraz w SQL Developer kliknij prawym przyciskiem myszy na Connections i wybierz New Connection.... Wybierz TNS jako typ połączenia w polu rozwijanym. Twoje wpisy z tnsnnames.ora powinien teraz wyświetlać proszę.
 164
Author: JaseAnderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-07 06:43:36

Open SQL Developer. Przejdź do Narzędzia - > Preferencje - > bazy danych - > zaawansowane Następnie jawnie Ustaw Katalog Tnsnames

Mój TNSNAMES został poprawnie skonfigurowany i mogłem połączyć się z Toad,SQL * Plus itp. ale musiałem to zrobić, aby programista SQL działał. Być może był to problem z Win 7, ponieważ instalacja też była bolesna.

 28
Author: Paul Mattey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-09 23:18:44

Zawsze możesz dowiedzieć się, gdzie znajduje się tnsnames.plik ora używany przez uruchomienie TNSPINGU do sprawdzania łączności (9i lub nowszy):

C:\>tnsping dev

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-JAN-2009 12:48:38

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = DEV)))
OK (30 msec)

C:\>

Czasami problem jest z wpisem, który zrobiłeś w tnsnames.ora, Nie żeby system tego nie znalazł. To powiedziawszy, zgadzam się, że posiadanie zestawu zmiennych środowiskowych tns_admin jest dobrą rzeczą, ponieważ pozwala uniknąć nieuniknionych problemów, które pojawiają się przy określaniu dokładnie, który plik tnsnames jest używany w systemach z wieloma domami oracle.

 12
Author: DCookie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-15 08:10:27

W sqldeveloper przeglądaj Tools --> Preferences, Jak pokazano na poniższym obrazku.

Tutaj wpisz opis obrazka

W opcjach Preferencje expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directoryGdzie tnsnames.Ora obecny.
następnie kliknij na Ok .
jak pokazano na poniższym diagramie.

Tutaj wpisz opis obrazka

Udało ci się!

Teraz możesz połączyć się za pomocą opcji TNSnames .

 11
Author: Chandra Sekhar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-23 12:33:48

Kroki wymienione przez Jasona są bardzo dobre i powinny zadziałać. Jest jednak trochę twist z deweloperem SQL. Buforuje specyfikacje połączenia (host, nazwa usługi, port) przy pierwszym odczycie nazw tnsnames.plik ora. Następnie nie unieważnia specyfikacji, gdy oryginalny wpis zostanie usunięty z nazwy tnsname.plik ora. Pamięć podręczna utrzymuje się nawet po zakończeniu i ponownym uruchomieniu programu SQL Developer. Nie jest to tak nielogiczny sposób radzenia sobie z sytuacją. Nawet jeśli tnsnames.plik ora jest tymczasowo niedostępny, programista SQL może nadal nawiązywać połączenie, o ile oryginalne specyfikacje są nadal prawdziwe. Problem pojawia się wraz z ich kolejnym małym zwrotem akcji. Programista SQL traktuje nazwy usług w nazwach tnsnames.plik ora jako wartości uwzględniające wielkość liter podczas rozwiązywania połączenia. Więc jeśli masz nazwę wpisu ABCD.świat w pliku i zastąpiłeś go nowym wpisem o nazwie abcd.świat, programista SQL nie zaktualizowałby swoich specyfikacji połączeń dla ABCD.world-it leczy abcd.świat jako zupełnie inne połączenie. Dlaczego nie dziwi mnie, że produkt Oracle traktowałby jako wrażliwą na wielkość liter zawartość formatu plików opracowanego przez oracle, który jest wyraźnie niewrażliwy na wielkość liter?

 2
Author: Allan Stewart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-13 22:30:26

W SQL Developer, przejdź do Tools - > preferences->Datababae->advanced - > Ustaw Katalog Tnsname do katalogu zawierającego nazwy tnsnames.ora

 1
Author: B Chowdhary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-22 14:16:12

Żadna z powyższych zmian nie zrobiła żadnej różnicy w moim przypadku. Mógłbym uruchomić TNS_PING w oknie poleceń, ale programista SQL nie mógł dowiedzieć się, gdzie nazwy tnsna.ora była.

Problem w moim przypadku (Windows 7 - 64 bit-Enterprise) polegał na tym, że Instalator Oracle wskazał skrót menu Start na niewłaściwą wersję programisty SQL. Wydaje się, że instalatorowi towarzyszą trzy instancje programistów SQL. Jeden jest w %ORACLE_HOME%\client_1\sqldeveloper\ a dwa są w %ORACLE_HOME%\client_1\sqldeveloper \ bin\ .

Instalator zainstalował skrót menu start, który wskazywał na wersję w katalogu bin, która po prostu nie działała. Poprosi o hasło za każdym razem, gdy zacząłem SQL Developer, nie pamiętam wyborów, które zrobiłem i wyświetlił pustą listę, gdy wybrałem TNS jako mechanizm połączenia. Nie ma również pola katalogu TNS w zaawansowanych ustawieniach bazy danych, o których mowa w innych postach.

Wyrzuciłem Stary Skrót startowy i zainstalowałem skrót do %ORACLE_HOME % \client_1\sqldeveloper\sqldeveloper.exe . Ta zmiana rozwiązała problem w moim przypadku.

 0
Author: Michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-24 19:42:52