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

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
使用sqlldr命令导入资料到Oracle数据库表中的示例说明 
使用sqlldr命令导入资料到Oracle数据库表中的示例说明
 

附檔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")

使用sqlldr命令导入资料到Oracle数据库表中的示例说明
 
上一篇:python中datetime模块


下一篇:python之xml 文件的读取方法