- 状況
TOADやSQL Developer経由で、OracleEBSデータベースへ接続時VIEWの結果が返ってこない。(ビューは表示されるが、データがない。) - 原因
US設定のOracleEBSに対して、クライアント側NLSの設定がJapanese設定なのが原因
(NLSの不一致が原因?) - Solution
レジストリ上のNLSの設定を変更する。
1. 接続先Oracle EBSの設定を確認するThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersSELECT VALUE as Language FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_LANGUAGE'; SELECT VALUE as Territory FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_TERRITORY'; SELECT VALUE as Characterset FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'; This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersLANGUAGE ---------------------------------------- AMERICAN TERRITORY ---------------------------------------- AMERICA CHARACTERSET ---------------------------------------- UTF8
2. クライアントの設定をあわせる(自分のPCのレジストリを変更する)
-1 regedit.exe を起動する
-2 HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE / KEY_OraClient11g_home2
(クライアントのインストールの仕方に依存)
-3 "NLS_LANG" を接続先のOracleEBSの設定に合わせる
"LANGUAGE"_"TERRITORY"."CHARACTER SET"
例:set NLS_LANG = AMERICAN_AMERICA.UTF8
#Resource - Thanks!!
https://www.ibm.com/support/knowledgecenter/SS6QYM_9.1.0/com.ibm.help.foundation.install.doc/t_ConfiguringTheNLS_LANGParameterForAnOracleClient.html
#レジストリの変更はリスクを伴います。自己責任にて実施ください。
0 件のコメント:
コメントを投稿