sqlldr工具使用

sqlldr是Oracle的高速批量的数据加载工具,通常用来将操作系统文件(数据)迁移到Oracle数据库中,是大型数据仓库选择使用的加载方法。对于一些字段带有特殊字符,使用insert难以处理的数据,可以通过sqlldr工具来导入,sqlldr可以指定字段的分隔符,导入带有特殊字符的数据。同时sqlldr导入速度也很快。

实例:
导入下面格式的数据:
16|660241105|13411058860|43ff|0|2007-05-01 00:00:00|2007-08-07 05:30:42|SW0101511|0|0|01|
16|660241105|13411059243|43ff|0|2007-05-01 00:00:00|2007-08-08 05:12:06|SW0101511|0|0|01|

1、建一个控制文件impdp_table.ctl,内容如下:
load data
infile  '/oracle/table_data.txt'
badfile '/oracle/table_data.bad'
insert into table testTable
fields terminated by '|'
(vc_switch_flag,int_client,vc_subno CHAR(4000),vc_dissrv,int_disobj,vc_startdate "TO_DATE(:vc_startdate, 'YYYY-MM-DD HH24:MI:SS')",vc_enddate "TO_DATE(:vc_enddate, 'YYYY-MM-DD HH24:MI:SS')",vc_addinf,int_serial,int_yxplanid,vc_rectype)

参数解释:导入的字段中,如果字段比较长,需要指定导入字段的长度,如vc_subno CHAR(4000),如果是日期,需要将字符串转换为日期格式,如vc_startdate "TO_DATE(:vc_startdate, 'YYYY-MM-DD HH24:MI:SS')"。如果没指定导入会报错。

2、执行下面命令导入数据:
sqlldr userid=testuser/user@2024db control=/oracle/impdp_table.ctl  log=/oracle/impdp_table.log rows=10000 bindsize=9192000 silent=header
posted @   teiperfly  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示