使用SQL*Loader导入含有Unicode文字的数据
时间:2011-02-21 来源:mrdongxf
今天刚学SQL*Loader, 决定用以前公司的歌库做实验,因为歌库里有许多Unicode字符,如下所示韩文:
K000003|I Believe|2|K|申胜勳|
K000004|사빙으로|4|K|*|
K000005|그내외탱고를|6|K|*|
K000006|벌처 이밤이디지니고|9|K|*|
K000007|소중한 너|4|K|*|
K000008|안개 속으로 가버린 사랑|9|K|*|
K000009|빈의자|3|K|*|
K000010|사랑을 미워해|6|K|*|
K000011|두개의 작은 별|6|K|*|
K000012|하얀 바람|4|K|*|
K000013|그내는|3|K|*|
K000014|내게도 사랑이|6|K|*|
1.用delphi编程产生unicode格式的文本文件Song.txt,包含所有歌曲数据,由于歌名中有',',所以字段之间以'|'分隔.
2.建立控制文件song.ctl
LOAD DATA
CHARACTERSET UTF8 -- 此处非常重要,不可忽略
INFILE song_utf8.txt
INTO TABLE song
FIELDS TERMINATED BY '|'
(SongNo,Name,Length,Language,Singer1,Singer2)
3.sqlldr userid=kod/kod control=song.ctl
Oracle速度真快,不到半分钟,85000多条数据就导进去了.
用SQLDeveloper查看,所有文字包括日文,韩文都显示正常.
如果用XShell登录,要修改设定:
Properties->Terminal->Encoding, 选择Unicode或Korean.
$export NLS_LANG=KOREAN_KOREA.KO16KSC5601
这样用SQLPlus登录,也可以显示韩文了.