当前位置: 首页 > 图文教程 > 数据库 > Oracle > 简述数据库导入Oracle SQL*Loader指南

Oracle
MySQL安全性指南 (1)(转)
MySQL安全性指南 (2)(转)
MySQL安全性指南(3)(转)
Microsoft SQL Server 7.0安全问题
如何删除oracle10g中的垃圾表?
Oracle诊断工具-RDA使用概述
开启企业殿堂的钥匙 Oracle服务器的安装
Oracle数据库监听配置
ORACLE的客户端如何连接到数据库
Linux 9i下Dataguard配置
在RHEL4U4上安装Oracle10GS2
Oracle开发(一).Windows下配置使用ProC
Oracle数据库开发(二).Linux下配置使用ProC
解决ora-01861文字与格式字符串不匹配
Ruby on Rails 连接 Oracle 数据库实践
oracle 10G在fedora2上的安装
oracle 透明网关环境的建立
Oracle9i iSQL*PLUS的配置过程
oracle安装过程中无法换盘
Oracle 10g RAC之网络设置

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 109 ::
收藏到网摘: n/a

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; /

 

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

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


LOAD DATA
INFILE *
INTO TABLE load_delimited_data
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( data1,
data