第一步:写一个 ctl格式的控制文件
LOAD DATA -- 控制文件标识
CHARACTERSET 'UTF8' -- 格式统一utf8
INFILE '/u01/mbd/dy_channel.txt' -- 要导入的数据文件名(提前把这txt文件放入目录下)
APPEND INTO TABLE dy_channel -- 向表中追加数据
FIELDS TERMINATED BY ',' -- 外部文件的数据以“,”分隔
OPTIONALLY ENCLOSED BY '"' -- 部分字段可以用双引号包起来
TRAILING NULLCOLS -- zyl_ls_2表中对应的属性名(数据中某些属性可能是 null 值 , 如
-- 果不加入这行导入到数据库的时候就会自动跳过null值的列, 这样数
-- 据插入后就会属性和值对应不上)
(
user_id,
createtime DATE 'yyyy-mm-dd',
channel_num
)
说明:
load data
告诉SQLLDR要做什么(在这个例子中,则指示要加载数据)。SQLLDR还可以执行CONTINUE_LOAD,也就是继续加载。只有在继续一个多表直接路径加载时才能使用后面这个选项
INFILE * :如果是*号,这会告诉SQLLDR所要加载的数据实际上包含在控制文件本身上,例见下一文。如上例指定包含数据的另一个文件的文件名。如果愿意,可以使用一个命令行参数覆盖这个INFILE语句。要当心,命令行选项总会涵盖控制文件设置
在append的位置还可以用以下列表中的一个值:
insert 向表中插入值,但要求表开始时为空,默认的加载选项
replace d

本文介绍了如何通过sqlldr命令将文本格式的数据高效地导入到Oracle数据库中,包括创建ctl控制文件、定义数据格式和字段,以及执行具体的导入操作。详细步骤包括:1. 创建ctl文件指定数据格式;2. 创建目标数据库表;3. 在cmd中使用sqlldr命令进行数据导入。
最低0.47元/天 解锁文章
4598

被折叠的 条评论
为什么被折叠?



