简述数据库导入OracleSQL*Loader指南

文章作者 100test 发表时间 2007:09:15 13:03:42
来源 100Test.Com百考试题网


SQL*Loader是Oracle数据库导入外部数据的一个工具。它和DB2的Load工具相似,但有更多的选择,它支持变化的加载模式,可选的加载及多表加载。

如何使用 SQL*Loader 工具

我们可以用Oracle的sqlldr工具来导入数据。例如:

sqlldr scott/tiger control=loader.ctl

控制文件(loader.ctl) 将加载一个外部数据文件(含分隔符)loader.ctl如下:

load data 

infile c:\data\mydata.csv 

into table emp 

fields terminated by "," optionally enclosed by " 

( empno, empname, sal, deptno )

mydata.csv 如下:

10001,"Scott Tiger", 1000, 40 

10002,"Frank Naude", 500, 20

下面是一个指定记录长度的示例控制文件。"*" 代表数据文件与此文件同名,即在后面使用BEGINDATA段来标识数据。

load data 

infile * 

replace 

into table departments 

( dept position (02:05) char(4), 

deptname position (08:27) char(20) 

) 

begindata 

COSC COMPUTER SCIENCE 

ENGL ENGLISH LITERATURE 

MATH MATHEMATICS 

POLY POLITICAL SCIENCE

Unloader这样的工具

Oracle 没有提供将数据导出到一个文件的工具。但是,我们可以用SQL*Plus的0select 及 format 数据来输出到一个文件:

set echo off newpage 0 space 0 pagesize 0 

feed off head off trimspool on 

spool oradata.txt 

0select col1 || , || col2 || , || col3 

from tab1 

where col2 = XYZ. 

spool off

另外,也可以使用使用 UTL_FILE PL/SQL 包处理:

rem Remember to 0update initSID.ora, 

utl_file_dir=c:\oradata parameter 

declare 

fp utl_file.file_type. 

begin 

fp := utl_file.fopen(c:\oradata,tab1.txt,w). 

utl_file.putf(fp, %s, %s\n, TextField, 55). 

utl_file.fclose(fp). 

end. 

/

当然你也可以使用第三方工具,如SQLWays ,TOAD for Quest等。

加载可变长度或指定长度的记录:

LOAD DATA 

INFILE * 

INTO TABLE load_delimited_data 

FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY " 

TRAILING NULLCOLS 

( data1, 

data2 

) 

BEGINDATA 

11111,AAAAAAAAAA 

22222,"A,B,C,D," 



下面是导入固定位置(固定长度)数据示例: 

LOAD DATA 

INFILE * 

INTO TABLE load_positional_data 

( data1 POSITION(1:5), 

data2 POSITION(6:15) 

) 

BEGINDATA 

11111AAAAAAAAAA 

22222BBBBBBBBBB

跳过数据行,可以用 “SKIP n”关键字来指定导入时可以跳过多少行数据。如:

LOAD DATA 

INFILE * 

INTO TABLE load_positional_data 

SKIP 5 

( data1 POSITION(1:5), 

data2 POSITION(6:15) 

)



BEGINDATA 

11111AAAAAAAAAA 

22222BBBBBBBBBB


相关文章


计算机等级C语言上机考试改错题分析总结
浅谈QoS带宽管理在网络管理的应用情况
局域网资源共享故障分析解决
DD 网络通的工作原理及其技术特色简介
简述数据库导入OracleSQL*Loader指南
J2EE基础:Struts框架的初学者入门知识
实战经验Oracle数据库基本操作步步详解
轻松应对J 连接MySQL数据库的实例讲解
使用Java语言快速开发LinuxGUI的应用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛