sqlload用法总结

总体流程

  • 创建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
)

------ 本文结束感谢您的阅读 ------
坚持原创技术分享,您的支持将鼓励我继续创作!