天天看点

oracle sqlldr导入数据

背景

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

继续阅读