OCIGetTnsnamesPathコマンドとOracle 10g(Windows)
日付 | 2006/02/10 |
---|---|
ID | 41706 (英語原文参照) |
バージョン | 2004.3 |
プラットフォーム | Win |
4D for OCIプラグインのコマンド"OCIGetTnsnamesPath"は、レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMEの値を返すものです。10g以前のOracleでは、ここでOracle Homeの場所を取得することができました。
しかし、Oracle 10gの場合、Oracle Homeが保存されているのは次の場所です:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<install name>\ORACLE_HOME
例:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\ORACLE_HOME
この結果、Oracle 10gでは4D for OCIプラグインのコマンド"OCIGetTnsnamesPath"を実行しても、Oracle Homeの正しい場所を取得することができません。
この問題の回避策として、コマンドが正しい値を返すようにWindowsレジストリの内容を変更することができます。
警告:Windowsのレジストリ編集に不安を感じるようであれば、この先へ進まないでください。
作業を始める前に、レジストリのバックアップ、あるいは少なくともOracleレジストリキーのエクスポートをしておいてください。
レジストリ変更の手順:
1. Microsoftレジストリエディタを起動します。
2. HKEY_LOCAL_MACHINE\SOFTWARE\ORACLEを表示します。
3. ORACLE_HOMEの値が存在しない場合、作成します。
4. ORACLE_HOMEの値を次のレジストリキーと同じものにします。
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<install name>\ORACLE_HOME
5. Microsoftレジストリエディタを終了します。
変更の結果として、4D for OCIのコマンドOCIGetTnsnamesPathが正しい値を返すようになります。