sqlldr,将数据批量导入Oracle数据库
哈喽,大家好,今天分享一个如何把文本数据快速导入到Oracle数据库的一个方法。
首先介绍一下sqlldr工具,它是由Oracle提供,专本用于把文本数据导入到Oracle数据库。它需要两个文件,一个是文本数据文件,另外一个是ctl文件。ctl文件主要是配置一些参数,比如文本数据的分割符,首行或其他具体行需不需要跳过,导入到哪张表,字段都哪些,这些字段都是什么属性等等。
首先我设计的一个表——xs,只有两个字段,xuehao,xingming,都是char型。
现在我的文本数据命名为ctl_test.dat,里面只包含五条数据,每一个字段都写在双引号里面,字段与字段之间用逗号隔开。
"181022","jing"
"181023","heng"
"181024","yuan"
"181025","xin"
"181026","ting"
现在介绍一下CTL文件。
OPTIONS (skip=0) --设置跳过某行不进行读取。
LOAD DATA
INFILE "/home/oracle/Desktop/ctl_test.dat"
--truncate是将表数据清空。默认是insert,但需要truncate将表清空,否则会报错。append是在原表后面追加。replace是将表中数据进行覆盖。
append
INTO TABLE xs -- 要插入记录的表
Fields terminated by "," -- 数据中每行记录用 "," 分隔
Optionally enclosed by '"'--文本数据中的字段在双引号里
trailing nullcols --这里主要配置表的字段
(
xuehao, --字段可以指定类型,默认CHARACTER类型
xingming
)
首先看看表中的原数据。
现在执行sqlldr命令。
数据导入成功了,这个时候的心情可是无比的喜悦啊。
执行成功之后一般会生成另外两个文件,一个是日志文件.log,记录执行结果等。另外一个是.bad文件,保存的导入失败的数据。其他参数后续再继续研究学习。
转载请注明:
作者:王亨
公众号:跟着菜鸟一起学R语言
原文链接:http://blog.****.net/wzgl__wh