总体流程
- 创建bad、log、ctl、discard目录
- 在数据库中创建需要导入的表
- 编写控制文件,例如test.ctl ,放到ctl目录下(数据文件也在ctl目录下)
- 执行命令 sqlldr username/password@10.119.169.126:1521/dtlkdvapdb control=’ctl\test.ctl’ log=’log\test.log’ bad=’bad\test.log’ discard=’discard\test.log’ direct=true;
- 导入完成后需要检查log和bad日志,看是否存在问题导致数据并未入库
导入txt文件
编写控制文件如下:OPTIONS(BINDSIZE=2097152,READSIZE=2097152,SKIP=1,ERRORS=-1,ROWS=50000)
LOAD DATA
CHARACTERSET AL32UTF8
INFILE 'C:\个人总结\sqlload导入数据\ctl\TFKBT.txt' "STR X'0a'"
INSERT INTO TABLE TFKBT
FIELDS TERMINATED BY X'01' TRAILING NULLCOLS
(
mandt,
spras,
fkber,
fkbtx
)
注意FIELDS TERMINATED BY X’01’中的01为每行数据之间的分隔符,不同的数据分隔符可能会不同
导入csv文件
编写控制文件如下:options (skip = 1,rows = 5000)
LOAD DATA
CHARACTERSET AL32UTF8
INFILE 'C:\个人总结\sqlload导入数据\ctl\数据.csv'
append
INTO TABLE ODS_DEAL_DETAIL
fields terminated by ','
Optionally enclosed by '"'
(
com_id_a,
com_name_a,
com_id_b,
com_name_b,
sbj_code,
sbj_name
)