当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

简述数据库导入Oracle SQL*Loader指南

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的select 及 format 数据来输出到一个文件:

set echo off newpage 0 space 0 pagesize 0 

feed off head off trimspool on 

spool oradata.txt 

select col1 || ',' || col2 || ',' || col3 

from tab1 

where col2 = 'XYZ'; 

      spool off

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

rem Remember to update 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; 

      /

 

[1] [2] [3] 下一页  

相关内容
赞助商链接