通过命令行方式装载数据,读取ASCII文件(明文),并装载到已经存在的表
,装载数据前需要额外创建控制文件,使用方式灵活,但是复杂度比load高。
一、语法
dbload [-d dbname] [-c cfilname] [-l logfile] [-e errnum] [-n nnum]
[-i inum] [-s] [-p] [-r | -k] [-X]
-d 数据库名
-c 命令文件名(也叫控制文件名)
-l 保存导入过程中失败的记录
-e 导入失败多少条记录后退出
-s 仅检查语法,不真正执行任务
-n 批量提交记录数定义
-p 失败情况:提交或者放弃
-i 从文件第几行开始,默认为第一行记录
-r 导入过程对表不加排他锁
-X 识别16进制数据
-k 导入过程对表加排他锁
二、控制文件
FILE filename DELIMITER ‘|’ nfields;
INSERT INTO tablename [(column) values (f01,f02,…)];
参数说明:
Filename 定义输入文件名。
‘|’ 分隔符号,这里为“|”,可以定义为其他的符号。
nfields 定义每行记录的列数。
tablename 定义导入的目的表。
[(column) values] 为可选项 f01为文件的第一列,依次类推。
三、应用命令
dbload -d demodb -c load_tab.ctl -l