您的位置:首页 > 数据库 > Oracle

oracle 导入txt

2016-06-28 09:00 393 查看
1899800      广东省东莞市        电信      0769
1899801      广东省东莞市        电信      0769

如上,有25w条手机号归属地的记录要入库,文件是excel格式的

首先,建表,4个字段;

然后,将excel另存为txt文件,选择制表符分隔;

在txt文件同一目录,新建文件load.ctl,字符集ZHS16GBK的文本文件的控制文件load.ctl的内容如下:

Ctl代码  


LOAD DATA  

CHARACTERSET ZHS16GBK  

INFILE 'data.txt'  

into table T_USER_INFO  

(PHONE_SEGMENT CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"' ,  

 PHONE_DISTRICT CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"',  

 PHONE_MNO CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"' ,  

 PHONE_REGION char terminated  by  x'09' OPTIONALLY ENCLOSED BY '"')  

 

这里的字符集名称和数据库的字符集名称一致。如果字符集不匹配,在加载数据进入数据库后,你会发现中文或其他文件的都会是乱码。

如果数据库字符集是ALT32UTF8,那么需要将"CHARACTERSET ZHS16GBK"修改为"CHARACTERSET UTF8"。

字段分隔符说明:

terminated   by   x'09'       ,指字段以X'09' -- 制表符(TAB)分隔    

terminated   by  ','          ,指用逗号分隔  

terminated   by   whitespace ,指结尾以空白分隔    

最后,cmd打开命令行,切换到load.ctl文件所在目录,执行“sqlldr userid=username/password@database  control=load.ctl”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle