知识大全 Oracle SQL*Loader 使用指南
Posted 文件
篇首语:爱情不是终点,陪伴才是归宿。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle SQL*Loader 使用指南相关的知识,希望对你有一定的参考价值。
Oracle SQL*Loader 使用指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL*Loader是Oracle数据库导入外部数据的一个工具 它和DB 的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 如下: Scott Tiger Frank Naude 下面是一个指定记录长度的示例控制文件 * 代表数据文件与此文件同名 即在后面使用BEGINDATA段来标识数据 load data infile * replace into table departments ( dept position ( : ) char( ) deptname position ( : ) char( ) ) begindata COSC PUTER SCIENCE ENGL ENGLISH LITERATURE MATH MATHEMATICS POLY POLITICAL SCIENCE Unloader这样的工具 Oracle 没有提供将数据导出到一个文件的工具 但是 我们可以用SQL*Plus的select 及 format 数据来输出到一个文件 set echo off newpage space pagesize feed off head off trimspool on spool oradata txt select col || || col || || col from tab where col = 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 tab txt w ); utl_file putf(fp %s %s\\n TextField ); 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 ( data data ) BEGINDATA AAAAAAAAAA A B C D 下面是导入固定位置(固定长度)数据示例 LOAD DATA INFILE * INTO TABLE load_positional_data ( data POSITION( : ) data POSITION( : ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB 跳过数据行 可以用 SKIP n 关键字来指定导入时可以跳过多少行数据 如 LOAD DATA INFILE * INTO TABLE load_positional_data SKIP ( data POSITION( : ) data POSITION( : ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB 导入数据时修改数据 在导入数据到数据库时 可以修改数据 注意 这仅适合于常规导入 并不适合 direct导入方式 如 LOAD DATA INFILE * INTO TABLE modified_data ( rec_no my_db_sequence nextval region CONSTANT time_loaded to_char(SYSDATE HH :MI ) data POSITION( : ) :data / data POSITION( : ) upper(:data ) data POSITION( : ) to_date(:data YYMMDD ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB LOAD DATA INFILE mail_orders txt BADFILE bad_orders txt APPEND INTO TABLE mailing_list FIELDS TERMINATED BY ( addr city state zipcode mailing_addr decode(:mailing_addr null :addr :mailing_addr) mailing_city decode(:mailing_city null :city :mailing_city) mailing_state ) 将数据导入多个表 如: LOAD DATA INFILE * REPLACE INTO TABLE emp WHEN empno != ( empno POSITION( : ) INTEGER EXTERNAL ename POSITION( : ) CHAR deptno POSITION( : ) CHAR mgr POSITION( : ) INTEGER EXTERNAL ) INTO TABLE proj WHEN projno != ( projno POSITION( : ) INTEGER EXTERNAL empno POSITION( : ) INTEGER EXTERNAL ) 导入选定的记录 如下例 ( ) 代表第一个字符 ( : ) 代表 到 之间的字符: LOAD DATA INFILE mydata dat BADFILE mydata bad DISCARDFILE mydata dis APPEND INTO TABLE my_selective_table WHEN ( ) <> H and ( ) <> T and ( : ) = ( region CONSTANT service_key POSITION( : ) INTEGER EXTERNAL call_b_no POSITION( : ) CHAR ) 导入时跳过某些字段 可用 POSTION(x:y) 来分隔数据 在Oracle i中可以通过指定 FILLER 字段实现 FILLER 字段用来跳过 忽略导入数据文件中的字段 如 LOAD DATA TRUNCATE INTO TABLE T FIELDS TERMINATED BY ( field field FILLER field ) 导入多行记录 可以使用下面两个选项之一来实现将多行数据导入为一个记录: CONCATENATE: use when SQL*Loader should bine the same number of physical records together to form one logical record CONTINUEIF use if a condition indicates that multiple records should be treated as one Eg by having a # character in column SQL*Loader 数据的提交 一般情况下是在导入数据文件数据后提交的 也可以通过指定 ROWS= 参数来指定每次提交记录数 提高 SQL*Loader 的性能 ) 一个简单而容易忽略的问题是 没有对导入的表使用任何索引和/或约束(主键) 如果这样做 甚至在使用ROWS=参数时 会很明显降低数据库导入性能 ) 可以添加 DIRECT=TRUE来提高导入数据的性能 当然 在很多情况下 不能使用此参数 ) 通过指定 UNRECOVERABLE选项 可以关闭数据库的日志 这个选项只能和 direct 一起使用 ) 可以同时运行多个导入任务 常规导入与direct导入方式的区别 常规导入可以通过使用 INSERT语句来导入数据 Direct导入可以跳过数据库的相关逻辑(DIRECT=TRUE) 而直接将数据导入到数据文件中 cha138/Article/program/Oracle/201311/18507相关参考
Oracle数据库专享工具:SQL*Loader 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!SQ
知识大全 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中
利用SQL*Loader将Excel数据导出到Oracle数据库中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
Oracle数据库备份与恢复之二:SQL*Loader 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 简述数据库导入OracleSQL*Loader指南
简述数据库导入OracleSQL*Loader指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 使用SQL Server*Loader进行数据导入
使用SQLServer*Loader进行数据导入 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL&Loader可把文件中的数据装载到OR 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! S
下面的是关于sql*loader的使用的一点总结有些是来自itpub上的一些网友的总结 大部分是oracle专家高级编程上的实例只是我实践以后写的结果 sqlldruserid=lgo
SQL调试指南-数据库执行计划(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一概述
MSSQLServer7.0性能优化指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要为数
知识大全 Microsoft SQL Server 7.0储存过程调试指南
MicrosoftSQLServer7.0储存过程调试指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一