Heim >Datenbank >MySQL-Tutorial >使用SQL*Loader将CSV文件数据导入Oracle数据表

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

WBOY
WBOYOriginal
2016-06-07 17:20:161081Durchsuche

使用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.ctl

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn