随笔-314  评论-209  文章-0  trackbacks-0

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"
)

posted on 2011-03-08 17:20 xzc 阅读(9058) 评论(2)  编辑  收藏 所属分类: Oracle

评论:
# re: Oracle Sql Loader中文字符导入乱码的解决方案[未登录] 2011-03-16 16:09 | lee
2005-1-3 9:00:03.2221 如果日期格式是这样要怎么办?  回复  更多评论
  
# re: Oracle Sql Loader中文字符导入乱码的解决方案 2013-07-09 16:37 | peters1235
我也遇到这个问题了。不过我的解决方法是把控制文件的编码改成ANSI。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: