使用sqlldr命令向Oracle导入数据

使用sqlldr命令向Oracle导入数据

前两天,碰到了一个需求,需要把“.txt”的数据导入到Oracle数据库中,现在记录一下:

1.查看需要导入的文件

要导入的文件是:lcb_rccr.txt
里面内容如下:
000000000146@!20110710@!000050000036@!00005@!20110710@!010001@!06362038@!20000.00@!江阴市XXXXX材料有限公司@!514458198875@!104302200135@!3022402016-10110017876@!江阴市江顺模具有限公司@!20110706@!20110711@!000130000026@!20110711@!1@!@!2@!4
字段和字段之间是使用“@!”来进行分隔的

2.在要导入的数据库中依照这个表的表结构,创建好表

create table lcb_rccr(
collsq varchar2(20)     NOT NULL , 
inptdt char(8)          NOT NULL ,  
inptsq varchar2(20)     NOT NULL , 
inptus varchar2(6)      NOT NULL ,  
inpttm date             NOT NULL ,  
brchno varchar2(10)     NOT NULL ,  
acptno varchar2(40)     NOT NULL ,  
acptam number(18,2)     NOT NULL ,  
drawna varchar2(80)     NULL ,  
drawac varchar2(40)     NULL ,  
drawbn varchar2(80)     NULL ,  
pyerac varchar2(40)     NULL ,  
pyerna varchar2(80)     NULL ,  
matudt char(8)          NULL ,  
procdt char(8)          NULL ,  
procsq varchar2(20)     NULL ,  
proctm date             NULL ,  
proctp char(1)          NOT NULL ,                                    
dshntx varchar2(160)    NULL ,  
collst char(1)          NOT NULL ,                                  
backnm int              NULL  
) ;

3.编写".ctl"文件

文件lcb_rccr.ctl的内容如下:
OPTIONS(DIRECT=TRUE,ROWS=5000)
LOAD DATA
CHARACTERSET ZHS16GBK
TRUNCATE INTO TABLE lcb_rccr
REENABLE DISABLED_CONSTRAINTS
FIELDS TERMINATED BY '@!'
TRAILING NULLCOLS
(
collsq, 
inptdt, 
inptsq, 
inptus, 
inpttm "to_date(:inpttm,'yyyymmdd')",  注:把文本格式的日期转换成Date类型
brchno, 
acptno, 
acptam, 
drawna, 
drawac, 
drawbn, 
pyerac, 
pyerna, 
matudt, 
procdt, 
procsq, 
proctm "to_date(:proctm,'yyyymmdd')",
proctp, 
dshntx, 
collst, 
backnm
)

4.编写dos命令,并执行

dos命令如下:
sqlldr impdata/123123@jydbdev_194.168.12.70  control=D:/aa/lcb_rccr.ctl errors=1000 rows=1000 data=D:/aa/lcb_rccr.txt  log=D:/aa/lcb_rccr_log.txt   bad=D:/aa/lcb_rccr_err.txt

impldata/123123是数据库的登录名和密码
control = 后面是".ctl"文件的位置
data = 后面是数据文件的位置(lcb_rccr.txt文件的位置)
log = 后面是日志的位置(这个很重要,第一次导入的时候,因为日期格式问题,发生了错误,就是看日志文件找出Bug的)

导入成功。


你可能感兴趣的:(数据库)