sql >> データベース >  >> RDS >> Oracle

関連するtnsnameの場所を特定し、コンソールにエコーします

    Oracleによると、これらの場所でtnsnames.oraが検索されます。 、それぞれsqlnet.ora

    1. 現在のパス(実行中のクライアントアプリケーションに関連付けられている)
    2. 環境変数TNS_ADMIN セッション用に定義
    3. 環境変数TNS_ADMIN システム用に定義
    4. WindowsレジストリキーHKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (64ビットの場合)またはHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (32ビットの場合)
    5. %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を使用して)テストを実行すると、次の順序になります。

    1. 環境変数TNS_ADMIN
    2. HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN 、それぞれHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN -> TNS_ADMINの場合のみ 環境変数が設定されていません。
    3. %ORACLE_HOME%\network\admin
    4. 現在のディレクトリ(アプリケーションが配置されているディレクトリとは異なる場合があります)
    5. アプリケーションが配置されているフォルダ

    詳細な分析を行うには、tnsnames.oraを検索する必要があります。 、sqlnet.ora およびldap.ora 。 Oracleデータベース名は、それぞれを介して解決できます。つまり、tnsnames.oraの場合でも接続が確立される可能性があります。 およびsqlnet.ora 存在しません。




    1. MySQLエラー:行1の列'amount'の範囲外の値

    2. ScrapyのMySQLデータベースへのアイテムの書き込み

    3. 指定された引数は有効なMySQL結果リソースではありません

    4. OracleInstantClientのインストール