Oracle sqlldr 在DOS窗口导入多列数据到数据库表
Oracle sqlldr 在DOS窗口导入多列数据到数据库表
sqlldr 用法详见:https://www.cnblogs.com/rootq/archive/2009/03/01/1401061.html
测试内容:
1、创建数据库表:
create table test_sqlldr
(
test_id number,
test_phone number,
test_content varchar2(20)
)
2、写sqlldr脚本:
测试内容包含有:控制文件(sqlldr.ctl)、数据文件(test_sqlldr.txt’ )、坏文件(bad_sqlldr.txt)、日志文件(sqlldr1.txt )等文件。
2.1、控制文件:
LOAD DATA
INFILE ‘C:\Users\Air\Desktop\test_sqlldr.txt’ –待导入文件位置
BADFILE ‘C:\Users\Air\Desktop\bad_sqlldr.txt’ –坏文件存放地址,导入时因异常原因没能进库的数据会保存到该文件
APPEND
INTO table test_sqlldr –待导入的数据库表
FIELDS TERMINATED BY “,” Optionally enclosed by ‘”‘
TRAILING NULLCOLS –表的字段没有对应值的时候允许为空
(
test_id,test_phone,test_content
)
2.2、测试数据内容:
2.3、在DOS窗口执行以下脚本,结果如下图所示:
sqlldr scott/tiger@192.168.0.13:1521/orcl control=C:\Users\Air\Desktop\sqlldr.ctl log=C:\Users\Air\Desktop\sqlldr1.txt rows=5000
2.4、在数据库表中查询数据是否进表(因为像某些数据文件 字段因为数值过大,DOS窗口执行脚本也不会报错,数据便不会入表),测试结果详见下图: