背景
900W数据的TXT文本,文件内容各字段以"|"分隔,使用nevicat导入太慢
解决办法
使用sqlldr导入数据,
1)建立配置文件test.ctl
[oracle@slave1 ~]$ cat test.ctl
load data
infile 'data.txt'
into table CMCC
fields terminated by "|"
(id,phone,service_id,time,cmcc_num,cmcc_s)
解释:data.txt 要导入的数据文件
CMCC 要导入的表空间
fields terminated by "|" 以"|"分隔
(id,phone,service_id,time,cmcc_num,cmcc_s) 要导入表空间的字段
2)使用sqlldr导入: sqlldr userid=smsanalysis/smsanalysis control=test.ctl log=log
后记
遇到的问题:
1)表空间名称为小写,test.ctl为小写,提示表空间不存在,改为大写
2)字段名称为小写,提示字段名不存在,改为大写
3)表中时间字段设为vachar
本文转自 穿越防火墙 51CTO博客,原文链接:http://blog.51cto.com/sjitwant/1847358