Oracle
 sql >> Baza danych >  >> RDS >> Oracle

identyfikując lokalizację odpowiednich nazw tns i wysyłając echo do konsoli

Według Oracle te lokalizacje są wyszukiwane dla tnsnames.ora ewent. sqlnet.ora :

  1. bieżąca ścieżka (powiązana z uruchomioną aplikacją kliencką)
  2. Zmienna środowiskowa TNS_ADMIN zdefiniowane dla sesji
  3. Zmienna środowiskowa TNS_ADMIN zdefiniowany dla systemu
  4. Klucz rejestru Windows HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (dla wersji 64-bitowej) lub HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (dla wersji 32-bitowej)
  5. %ORACLE_HOME%\network\admin

Nie jestem jednak pewien, czy każda aplikacja/sterownik/wersja podąża za tą listą. Ta lista została dostarczona przez Oracle w związku z wersją 9i. Myślę, że uda Ci się przeszukać te foldery za pomocą VBScript.

Jeśli ORACLE_HOME nie jest ustawiona przez zmienną środowiskową, musisz wykonać zapytanie do rejestru HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (dla wersji 64-bitowej) lub HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (dla wersji 32-bitowej)

Dla ORACLE_HOME_NAME musisz przejść do swojego bin Oracle folder (do znalezienia przez %PATH% zmienna środowiskowa) i otwórz plik oracle.key . To jest prosty plik tekstowy zawierający tylko ORACLE_HOME_NAME wartość, np. OraClient11g_home1 .

Jednak zazwyczaj pod HKLM\SOFTWARE\ORACLE znajduje się tylko jeden Oracle Home. , więc szukanie i odczytywanie pliku oracle.key może być przesadą.

Aktualizacja

Kiedy uruchamiam test na moim komputerze (z Oracle Client 11.2) otrzymuję następującą kolejność:

  1. Zmienna środowiskowa TNS_ADMIN
  2. HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN ewent. HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN -> Tylko jeśli TNS_ADMIN Zmienna środowiskowa nie jest ustawiona.
  3. %ORACLE_HOME%\network\admin
  4. Aktualny katalog (który może być inny niż katalog, w którym znajduje się Twoja aplikacja)
  5. Folder, w którym znajduje się Twoja aplikacja

Aby uzyskać dogłębną analizę, musisz wyszukać tnsnames.ora , sqlnet.ora i ldap.ora . Nazwa bazy danych Oracle może być rozwiązana przez każdą z nich, tj. połączenie może zostać nawiązane nawet wtedy, gdy tnsnames.ora i sqlnet.ora nie istnieją.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szybszy sposób na załadowanie ogromnej tabeli hurtowni danych

  2. pobieranie z funkcji zwracającej kursor ref do nagrania

  3. Znajdowanie N-tego minimum wartości Varchar w Oracle

  4. Jak przeprowadzić ręczną dezinstalację Oracle?

  5. Jak uzyskać najnowszy rekord pracownika w Oracle?