日期:2014-05-16  浏览次数:20461 次

将本地数据根据规则导入到数据库表的几种方法

SQL*Loader

?

SQL*LoaderOracle数据库导入外部数据的一个系统工具,在Unix下,SQL Loader一般由命令和控制文件组成,命令定义执行的模式,控制文件定义数据映射和可选逻辑。SQL Loader 的特点是能装入不同数据类型文件及多个数据文件以及固定格式,自由定界以及可度长格式的数据,控制文件灵活,速度快(ORACLE自称可以达到每小时处理100GB数据的能力)等。

?

Sqlldr命令

?

首先通过查看SQL Loader的帮助信息来了解下sqlldr的使用方法(注:如下图所示,输入sqlldr后回车即可查看其帮助信息):

?


?

Ctl 控制文件

?

控制文件是SQL*Loader的灵魂,在控制文件中可以设置以何种方式导入,是追加还是覆盖;以何种方式识别数据文件等等。下面是如何编写控制文件的一个标准模板:

OPTIONS? (? [SKIP=integer] [ LOAD = integer ] [ERRORS = integer] [ROWS=integer] [BINDSIZE=integer] [SILENT=(ALL|FEEDBACK|ERROR|DISCARD) ] ?)

LOAD [DATA]

[ { INFILE | INDDN } {file | * } [ STREAM | RECORD | FIXED length [BLOCKSIZE size]| VARIABLE [length] ]? [ { BADFILE | BADDN } file ] {DISCARDS | DISCARDMAX} integer ]

[ {INDDN | INFILE} . . . ]