一、基本知识 Oracle 的 SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中。通常 与 SPOOL导出文本数据方法配合使用。 1、命令格式 SQLLDR keyword=value [,keyword=value,……] 例:$ sqlldr user/pwd control=emp.ctl data=emp.dat bad=emp.bad log=emp.log 2、控制文件 SQL*LOADER 根据控制文件可以找到需要加载的数据。并且分析和解释这些数据。 控制文件由三个部分组成,具体参数参考帮助文档:1. 全局选件,行,跳过的记录数等;2. INFILE 子句指定的输入数据;3. 数据特性说明。 comment: ——注释 例: load data infile * append ——除了 append外,还有 insert、replace、truncate等方式 into table emp fields terminated b y ‘|’ ( no float external, name char(20), age integer external, duty char(1),salary float external, upd_ts date(14) ‘YYYYMMDDHH24MISS’) begindata 100000000003|Mulder|000020|1|000000005000|20020101000000 100000000004|Scully|000025|2|000000008000|20020101235959 控制文件中infile选项跟sqlldr 命令行中data 选项含义相同,如使用infile *则表明数据在本控制文件以 begin data 开头的区域内。 一些选项:FIELDS TERMINATED BY WHITESPACE FIELDS TERMINATED BY x'09' FILLER_1 FILLER, // 指定某一列将不会被装载 DEPTNO position(1:2), DNAME position(*:16), // 指定列的位置SEQNO RECNUM //载入每行的行号 SKIP n // 指定导入时可以跳过多少行数据 3、数据文件 按控制文件数据格式定义的数据行集, 例: 100000000001|Tom|000020|1|000000005000|20020101000000 100000000002|Jerry|000025|2|000000008000|20020101235959 固定格式、可变格式、流记录格式: 固定格式: 当数据固定的格式(长度一样)时且是在文件中得到时,要用 INFILE "fix n" load data infile 'example.dat' "fix 11" into table example fields terminated b y ',' optionally enclosed by '"' (col1 char(5), col2 char(7)) example.dat: 001, cd, 0002,fghi, 00003,lmn, 1, "pqrs", 0005,uvwx, 可变格式: 当数据是可变格式(长度不一样)时且是在文件中得到时,要用 INFILE "var n".如: load data infile 'example.dat' "var 3" into table example fields terminated b y ',' optionally enclosed by '"' (col1 char(5), col2 char(7)) example.dat: 009hello,cd,010world,im, 012my,name is, 流记录格式: // Stream-recored format:load data infile 'xx.dat' "str '|\n'" into table xx field terminated b y ',' optionally enclosed by '"' (col1 char(5), col2 char(7)) example.dat: hello, ccd,| world, bb,| 4、坏文件 bad=emp.bad坏文件包含那些被 SQL*Loader拒绝的记录。被拒绝的记录可能是不符合要求的记录。 5、日志文件及日志信息 log=emp.log当 SQL*Loader 开始执行后,它就自动建立 日志文件。日志文件包含有加载的总 结,加载中的错误信息等。
|
正在阅读:Oracle数据库备份与恢复(2):SQL*LoaderOracle数据库备份与恢复(2):SQL*Loader
2009-06-12 09:45
出处:PConline
责任编辑:lizhiyan
键盘也能翻页,试试“← →”键