Oracleによると、これらの場所でtnsnames.ora
が検索されます。 、それぞれsqlnet.ora
:
- 現在のパス(実行中のクライアントアプリケーションに関連付けられている)
- 環境変数
TNS_ADMIN
セッション用に定義 - 環境変数
TNS_ADMIN
システム用に定義 - Windowsレジストリキー
HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN
(64ビットの場合)またはHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN
(32ビットの場合) -
%ORACLE_HOME%\network\admin
ただし、各アプリケーション/ドライバー/バージョンがこのリストに従っているかどうかはわかりません。このリストは、バージョン9iに関連してOracleによって提供されました。VBScriptによってこれらのフォルダをクエリするように管理できると思います。
ORACLE_HOME
の場合 環境変数によって設定されていない場合は、レジストリHKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME
にクエリを実行する必要があります。 (64ビットの場合)またはHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME
(32ビットの場合)
ORACLE_HOME_NAME
の場合 Oracleのbin
に移動する必要があります フォルダ(%PATH%
で見つかります 環境変数)およびファイルoracle.key
を開きます 。これは、ORACLE_HOME_NAME
のみを含む単純なテキストファイルです。 値、例: OraClient11g_home1 。
ただし、通常、HKLM\SOFTWARE\ORACLE
の下にはOracleホームが1つしかありません。 、ファイルoracle.key
を探して読み取る やり過ぎかもしれません。
更新
自分のマシンで(Oracle Client 11.2を使用して)テストを実行すると、次の順序になります。
- 環境変数
TNS_ADMIN
-
HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN
、それぞれHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN
->TNS_ADMIN
の場合のみ 環境変数が設定されていません。 -
%ORACLE_HOME%\network\admin
- 現在のディレクトリ(アプリケーションが配置されているディレクトリとは異なる場合があります)
- アプリケーションが配置されているフォルダ
詳細な分析を行うには、tnsnames.ora
を検索する必要があります。 、sqlnet.ora
およびldap.ora
。 Oracleデータベース名は、それぞれを介して解決できます。つまり、tnsnames.ora
の場合でも接続が確立される可能性があります。 およびsqlnet.ora
存在しません。