您的位置:首页 > 数据库 > Oracle

使用sqlldr命令导入资料到Oracle数据库表中的示例说明

2015-06-03 14:15 423 查看
CSV: Comma-Separated Values(逗号分隔值)的缩写,是以逗号分隔字段的多行文本文件

sqlldr 是sql*loader的缩写,此工具在安装完整版的Oracle客户端后就有
使用sqllldr可以将有规律的文本数据(如csv)导入数据表

导入示例:将csv文本文件andon.txt导入到manpowertest中的testandon表中
testandon表结构
create table TESTANDON
(
build_no VARCHAR2(5),
device_no VARCHAR2(5),
btn_no
VARCHAR2(5),
flag VARCHAR2(1),
data_time DATE
--此为时间格式,导入时要作特殊处理
)

1、用记事本或其它文本软件创建一个.ctl导入控件文件,此处以C:\andon.ctl为例,内容为
OPTIONS(SKIP=1)
--跳过1行,即跳过csv文件的第一行表头不导入
load data
infile 'C:\andon.txt'
--要导入的csv文本的路径
append into table manpowertest.testandon
--要导入到数据库中哪个表
fields terminated by ","
--要导入的文本是以什么符号分隔字段的,这里是逗号
(
build_no, --要导入到表中的哪些字段
device_no,

btn_no,
flag,
data_time timestamp "yyyy-mm-dd hh24:mi:ss"
--由于数据表中此字段类型为date类型,并非文字类型,使用timestamp
"yyyy-mm-dd hh24:mi:ss"进行格式转换
)

2、在cmd中执行sqlldr命令如下
sqlldr userid=manpowertest/manpowertest@ora32 control=c:\andon.ctl
log=c:\andon.log





附檔1:andon.txt

栋号,设备号,按钮代码,开关状态,触发时间

A2-1,4,2,1,2014-10-29 15:14:13
A2-1,30,2,0,2014-10-29 14:51:36
A2-2,10,2,0,2014-10-29 14:18:53
A2-2,11,2,0,2014-10-29 15:11:07
A2-2,12,2,0,2014-10-29 14:40:13

附檔2:andon.ctL

OPTIONS(SKIP=1)
load data
infile 'C:\andon.txt'
append into table manpowertest.testandon
fields terminated by ","
(build_no,
device_no,
btn_no,
flag,
data_time timestamp "yyyy-mm-dd hh24:mi:ss")

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: