导入导出字符集问题
http://blog.csdn.net/tianlesoftware/article/details/4674224
NLS_LANG 参数对expdp/impdp 影响:
10G之前exp在导出数据时,数据字符集会依赖于NLS_LANG参数的设置,如果Client端设置了NLS_LANG参数,那么数据会按照NLS_LANG设置的字符集导出,如果没有则按照数据库本身的字符集导出; imp也一样 导入时也会参照NLS_LANG的设置在导入是对字符集做转换。
qs-xe-dzora-pd:/home/oracle> echo$NLS_LANG
American_America.zhs16gbk
oracle@HPDL580G7-104-6:~> echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
export LANG=en_US.UTF-8
10G新增的expdp/impdp成为了一个服务器端的工具,也就是说导入导出任务在数据库服务器端运行,而不是在发出expdp/impdp命令的客户端(不过Oracle仍然还是保留了exp/imp工具)。
在expdp的时候Oracle不会再依赖和参考NLS_LANG的设置,而是完全按照数据库本身的字符集导出数据,impdp的时候,Oracle会自动判断如果dmp文件中的字符集和目标数据库的字符集不符时会自动对导入数据的字符集做转换。这样可以消除以前由于字符集的问题在导入过程中出现乱码的问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27573546/viewspace-740779/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27573546/viewspace-740779/