Oracle Sql Loader中文字符导入乱码的解决方案

http://www.blogjava.net/xzclog/archive/2011/03/08/345955.html

Oracle Sql Loader中文字符导入乱码的解决方案

Oracle Sql Loader中文字符导入乱码的解决方案
服务器端字符集NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

控制文件ctl:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE 'c:\testfile.txt'
id name desc

FIELDS TERMINATED BY ","
(id,name ,desc )

导入成功

其中c:\testfile.txt文件中有中文,在将此文件导入到oracle数据库中时,需要设置字符集CHARACTERSET ZHS16GBK
 
(1)查看服务器端字符集 
通过客户端或服务器端的sql*plus登录ORACLE的一个合法用户,执行下列SQL语句: 
SQL > select * from V$NLS_PARAMETERS 
------------------------
(2)控制文件ctl:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE '/inffile/vac/subs-vac.csv'
TRUNCATE
INTO TABLE INF_VAC_SUBS_PRODUCT
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
USER_NUMBER,
PRODUCT_ID,
EFFECTIVE_DATE DATE "YYYY/MM/DD HH24:MI:SS",
EXPIRATION_DATE DATE "YYYY/MM/DD HH24:MI:SS"
)

你可能感兴趣的:(Oracle Sql Loader中文字符导入乱码的解决方案)