現在、.NET Microsoft oracle ドライバーから ODP.NET ドライバーに移行中です。
私たちが経験した問題の 1 つは、次のエラーです。
ORA-12705: NLSデータ・ファイルにアクセスできないか、指定された環境が無効です
レジストリを変更して設定を変更することで、エラーを停止することができました (この質問を参照してください) 。
私たちの場合、私たちは変更しました
HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - NLS_LANG
NAに設定された
と同じになる
HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - HOME0 - NLS_LANG
正しく設定されたもの
私の質問は、レジストリに異なる NLS_LANG 設定があるのはなぜですか? この値を変更すると、影響が生じる可能性がありますか?
更新: Oracle NLS FAQで次のことを見つけました
Oracle バージョン 7 の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
Oracle Database バージョン 8、8i、および 9i の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\
「x」はOracleホームを識別する一意の番号です。
HOME0 は最初のインストールです
Oracle データベース 10g の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<oracle_home_name>
そこに名前のエントリがあります
NLS_LANG
OK、バージョンごとに異なるレジストリ設定があります...
ノート:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
バージョン 7 がインストールされていないときに、NLS_LANG が「NA」に設定されていることに混乱する人もい ます。これは下位互換性のために使用され、無視できます。
私は Oracle 9i を使用しているので、さらに混乱しています。ODP.NET dll が Oracle 7 のレジストリ設定を調べているのはなぜですか?