浅谈ORACLE的SQLLDR
- 格式:doc
- 大小:97.00 KB
- 文档页数:8
浅谈ORACLE的SQLLDR
(2009-10-12 16:06:49)
转载
一:sql loader 的特点oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。二:sql loader 的帮助
三:sql loader使用例子a)SQLLoader将 Excel 数据导出到 Oracle 1.创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑:控制文件:input.ctl,内容如下: load data --1、控制文件标识 infile 'test.txt' --2、要输入的数据文件名为test.txt append into table test --3、向表test中追加记录 fields terminated by X'09' --4、字段终止于X'09',是一个制表符(TAB) (id,username,password,sj) -----定义列对应顺序
a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上在DOS窗口下使用SQL*Loader命令实现数据的输入C:\>sqlldr userid=system/manager@orcl control=input.ctl 默认日志文件名为:input.log 默认坏记录文件为:input.bad 2.还有一种方法可以把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件就改为用逗号分隔LOAD DATA INFILE 'd:\car.csv' APPEND INTO TABLE t_car_temp FIELDS TERMINATED BY "," (phoneno,vip_car) b)在控制文件中直接导入数据1、控制文件test.ctl的内容-- The format for executing this file with SQL Loader is: -- SQLLDR control=
BADFILE 'C:\Documents and Settings\Jackey\桌面\WMCOUNTRY.BAD' DISCARDFILE 'C:\Documents and Settings\Jackey\桌面\WMCOUNTRY.DSC' INSERT INTO TABLE EMCCOUNTRY
Fields terminated by ";" Optionally enclosed by '"'
(
COUNTRYID NULLIF (COUNTRYID="NULL"),
COUNTRYCODE,
COUNTRYNAME,
CONTINENTID NULLIF (CONTINENTID="NULL"),
MAPID NULLIF (MAPID="NULL"),
CREATETIME DATE "MM/DD/YYYY HH24:MI:SS" NULLIF (CREATETIME="NULL"), LASTMODIFIEDTIME DATE "MM/DD/YYYY HH24:MI:SS" NULLIF (LASTMODIFIEDTIME="NULL") )
BEGINDATA
1;"JP";"Japan";1;9;"09/16/2004 16:31:32";NULL 2;"CN";"China";1;10;"09/16/2004 16:31:32";NULL 3;"IN";"India";1;11;"09/16/2004 16:31:32";NULL 4;"AU";"Australia";6;12;"09/16/2004 16:31:32";NULL 5;"CA";"Canada";4;13;"09/16/2004 16:31:32";NULL 6;"US";"United States";4;14;"09/16/2004 16:31:32";NULL 7;"MX";"Mexico";4;15;"09/16/2004 16:31:32";NULL 8;"GB";"United Kingdom";3;16;"09/16/2004 16:31:32";NULL 9;"DE";"Germany";3;17;"09/16/2004 16:31:32";NULL 10;"FR";"France";3;18;"09/16/2004 16:31:32";NULL 11;"IT";"Italy";3;19;"09/16/2004 16:31:32";NULL 12;"ES";"Spain";3;20;"09/16/2004 16:31:32";NULL 13;"FI";"Finland";3;21;"09/16/2004 16:31:32";NULL 14;"SE";"Sweden";3;22;"09/16/2004 16:31:32";NULL 15;"IE";"Ireland";3;23;"09/16/2004 16:31:32";NULL 16;"NL";"Netherlands";3;24;"09/16/2004 16:31:32";NULL 17;"DK";"Denmark";3;25;"09/16/2004 16:31:32";NULL 18;"BR";"Brazil";5;85;"09/30/2004 11:25:43";NULL 19;"KR";"Korea, Republic of";1;88;"09/30/2004 11:25:43";NULL