Menurut Oracle, lokasi ini dicari tnsnames.ora , hal. sqlnet.ora :
- jalur saat ini (terkait dengan aplikasi klien yang sedang berjalan)
- Variabel lingkungan
TNS_ADMINditentukan untuk sesi - Variabel lingkungan
TNS_ADMINditentukan untuk sistem - Kunci Registri Windows
HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(untuk 64 bit) atauHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(untuk 32 bit) %ORACLE_HOME%\network\admin
Namun, saya tidak yakin apakah setiap aplikasi/driver/versi mengikuti daftar ini. Daftar ini disediakan oleh Oracle terkait dengan versi 9i. Saya pikir Anda akan mengaturnya untuk menanyakan folder-folder ini dengan VBScript.
Jika ORACLE_HOME tidak disetel oleh variabel Lingkungan, Anda harus menanyakan HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME Registry> (untuk 64 bit) atau HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (untuk 32 bit)
Untuk ORACLE_HOME_NAME anda harus menavigasi ke bin Oracle Anda folder (dapat ditemukan melalui %PATH% Variabel lingkungan) dan buka file oracle.key . Ini adalah file teks sederhana yang hanya berisi ORACLE_HOME_NAME nilai, mis. OraClient11g_home1 .
Namun, biasanya hanya ada satu Oracle Home di bawah HKLM\SOFTWARE\ORACLE , jadi cari dan baca file oracle.key mungkin berlebihan.
Perbarui
Ketika saya menjalankan tes pada mesin saya (dengan Oracle Client 11.2) saya mendapatkan perintah berikut:
- Variabel lingkungan
TNS_ADMIN HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN, hal.HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN-> Hanya jikaTNS_ADMINVariabel lingkungan tidak disetel.%ORACLE_HOME%\network\admin- Direktori saat ini (yang mungkin berbeda dengan direktori tempat aplikasi Anda berada)
- Folder tempat aplikasi Anda berada
Untuk analisis mendalam Anda harus mencari tnsnames.ora , sqlnet.ora dan ldap.ora . Nama database Oracle dapat diselesaikan melalui masing-masing dari mereka, yaitu koneksi dapat dibuat bahkan ketika tnsnames.ora dan sqlnet.ora tidak ada.