windows平台下,oracle 11.2.0.1在使用impdp向測試環境導入數據的時候,報出如下錯誤:

錯誤原因:
數據泵在寫日志文件的時候,使用的是數據庫字符集。如果客戶端的環境變量NLS_LANG得值和數據庫字符集不一致的話,日志中顯示的表名稱可能和終端屏幕輸出的不一致。
數據泵內部使用的是包UTL_FILE,在和NLS轉換的時候可能不能輸出字符。
#查看測試庫
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SQL>
查看操作系統的NLS_LANG設置:
運行 --> regedit -->查找 鍵值 NLS_LANG 將字符集 注冊表路徑:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK
解決方案:
將客戶端NLS_LANG的值設置和數據庫字符集一致
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改為:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
