oracle导入csv到空表,使用SQL*Loader将CSV文件数据导入Oracle数据表

使用SQL*Loader将CSV文件数据导入Oracle数据表

1. 环境条件与操作目标

(1) Oracle中存在一个Employee表,表中包含4个字段:

emp_id   number

emp_name varchar2

emp_date date

dpt_id   number

(2) 一个CSV文件emp.csv, 包含了上述表中的相关数据,字段顺序与上述

表字段相同。内容如下:

1001,"James","2011/04/08",100

1001,"Tom","2010/10/15",100

1001,"Larry","2009/01/02",101

(3) 任务目标将emp.csv中的数据,使用sql*loader,导入表employee

2. SQL*Loader命令说明

SQL*Loader是随Oracle一起发布和安装的命令行工具,命令名称为sqlldr。

该工具用于将外部文件数据导入ORACLE。

SQL*Loader在运行时,必须指定一个控制文件和一个数据文件,

除了将数据输出到Oracle外,还可以输出其他文件,用以指示运行状态,

包括:

Log File:  日志文件,用于输出运行过程中的消息日志。当运行失败时,

可据此判断失败原因。

Bad Files: 错误数据行。当数据文件中某一行数据导入失败,这行数据

将被输出到BadFile中。

当以带有过滤条件方式运行SQL*Loader导入数据(数据过滤条件在控制文件

中指定),SQL*Loader还会根据需要输出以下文件:

Discard Files: 包含被过滤条件废弃的数据记录的文件。

SQL*Loader命令常用参数:> SQLLDR keyword=value [,keyword=value,...]

userid:   用户名/口令,例如scott/tiger@orcl

control:  输入的控制文件名

log:      输出的日志文件名

bad:      输出的错误数据文件名

data:     输入的数据文件名

discard:  输出的废弃数据文件名

errors:   允许的错误数,如果错误记录超过该数目,程序立即退出

slient:   运行过程隐藏消息

3. 导入数据

控制文件(control.ctl)中内容如下:

LOAD DATA

INFILE 'it.csv'

INTO TABLE employee

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

(

EMD_ID,

EMP_NAME,

EMD_DATE DATE "YYYY/MM/DD",

DPT_ID

)

执行SQL*Loader:

> sqlldr userid=username/password@orcl control=control.ctl0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值