首页 > 数据库技术 > 详细

sqlldr使用

时间:2016-05-13 11:38:32      阅读:225      评论:0      收藏:0      [点我收藏+]

一、写ctl文件

首先,先写一个ctl文件(包含控件信息的文件,这里是oracle数据库的控制文件)文件名:测试.ctl

ctl文件例:

load data
infile ‘d:\ha2000\HA2000\xxx.txt‘
truncate
into table xxx
fields terminated by ‘,‘ optionally enclosed by ‘"‘
TRAILING NULLCOLS
(
EMS_NO ,
MODIFY_TIMES filler,
PRE_EMS_NO,
COP_EMS_NO,
TRADE_CODE,
TRADE_NAME CHAR(255),

BEGIN_DATE timestamp "yyyy-mm-dd hh24:mi:ss.ff9",

)

文件内容说明:

1、‘d:\ha2000\HA2000\xxx.txt‘ 待导入的数据。也可以是 cvs文件

注意:导出xxx.txt文件要注意把换行符去掉。不然有换行符的数据当成两行导入,会报错,一般报错2百多次就停止导入了。

2、xxx表名

3、fields terminated by ‘,‘ optionally enclosed by ‘"‘  分隔符:逗号,数据格式里有双引号。

4、MODIFY_TIMES filler,  filler代表本列不导入,这样的话你建表时也不用建这个表

5、TRADE_NAME CHAR(255),默认文本长度60,如果要长一点需自定义。

6、BEGIN_DATE timestamp "yyyy-mm-dd hh24:mi:ss.ff9" ff9是毫秒,如果是从sql导出来的,就要加上这个,加上后oracle可以认识这个字段的格式, 导入时会自动将这个毫秒截取掉。

二、执行一个命令,可以是bat文件

sqlldr user/pass control=‘D:\测试.ctl‘ log=‘D:\测试.log‘ bad=‘D:\xxx.txt‘ errors=99999999

1、user/pass用户名/密码

2、control=‘D:\测试.ctl‘ 命令执行文件(oracle数据库的控制文件)

3、 log=‘D:\测试.log‘ 随便定义一个日志文件

4、bad=‘D:\xxx.txt‘  待导入的文件

5、errors=99999999 默认二百多错误就终止导入,这个是改变默认值。到99999999个文件才终止导入。

 

sqlldr使用

原文:http://www.cnblogs.com/xbding/p/5486892.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!