oracle通过sqlldr导入文本数据
执行命令:
复制代码
sqlldr userid=epay/epay control=/tmp/test.ctl log=/tmp/test.log data=/tmp/test.csv rows=10
命令参数:
userid – Oracle 的 username/password[@servicename]
control – 控制文件,可能包含表的数据
log – 记录导入时的日志文件,默认为 控制文件(去除扩展名).log
bad – 坏数据文件,默认为 控制文件(去除扩展名).bad
data – 数据文件,一般在控制文件中指定。用参数控制文件中不指定数据文件更适于自动操作
errors – 允许的错误记录数,可以用他来控制一条记录都不能错
rows – 多少条记录提交一次,默认为 64
skip – 跳过的行数,比如导出的数据文件前面几行是表头或其他描
复制代码
ctl脚本
复制代码
load data
append into table “T_USER_CTRL” – 操作类型
– 1) insert --为缺省方式,在数据装载开始时要求表为空
– 2) append --在表中追加新记录
– 3) replace --删除旧记录(用 delete from table 语句),替换成新装载的记录
– 4) truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录
fields terminated by ’ ’ – 数据分隔符
trailing nullcols
(ID,CUST_NUM,CARD_NO,MER_DAY_AMT,MER_DAY_AMT_DATE DATE “YYYY-MM-DD HH24”)
复制代码
CSV数据
1 606110048163089 6218710000005136 3 2017-01-01
1 606110048163089 62187100000