Podle Oracle jsou tato umístění vyhledávána pomocí tnsnames.ora , resp. sqlnet.ora :
- aktuální cesta (spojená se spuštěnou klientskou aplikací)
- Proměnná prostředí
TNS_ADMINdefinované pro relaci - Proměnná prostředí
TNS_ADMINdefinovaný pro systém - Klíč registru systému Windows
HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(pro 64bitovou verzi) neboHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(pro 32 bitů) %ORACLE_HOME%\network\admin
Nejsem si však jistý, zda se každá aplikace/ovladač/verze řídí tímto seznamem. Tento seznam poskytla společnost Oracle týkající se verze 9i. Myslím, že jej zvládnete dotazováním těchto složek pomocí VBScriptu.
Pokud ORACLE_HOME není nastaveno proměnnou prostředí, musíte se dotázat registru HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (pro 64bitovou verzi) nebo HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (pro 32 bitů)
Pro ORACLE_HOME_NAME musíte přejít do vašeho Oracle bin složku (lze najít přes %PATH% Proměnná prostředí) a otevřete soubor oracle.key . Toto je jednoduchý textový soubor obsahující pouze ORACLE_HOME_NAME hodnotu, např. OraClient11g_home1 .
Obvykle je však pod HKLM\SOFTWARE\ORACLE pouze jedna domovská stránka Oracle , takže hledání a čtení souboru oracle.key může to být přehnané.
Aktualizovat
Když spustím test na svém počítači (s Oracle Client 11.2), dostanu následující pořadí:
- Proměnná prostředí
TNS_ADMIN HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN, resp.HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN-> Pouze pokudTNS_ADMINProměnná prostředí není nastavena.%ORACLE_HOME%\network\admin- Aktuální adresář (který se může lišit od adresáře, kde se nachází vaše aplikace)
- Složka, ve které se nachází vaše aplikace
Pro hloubkovou analýzu musíte vyhledat tnsnames.ora , sqlnet.ora a ldap.ora . Název databáze Oracle lze přeložit prostřednictvím každého z nich, tj. spojení může být navázáno, i když tnsnames.ora a sqlnet.ora neexistují.