sql load的CTL文件

有一个文件,名称是export.txt,该文件前面几行如下所示:
000000000800,SEP000000000800,800
000000000810,SEP000000000810,810
000000000813,000000000813,813
000000000820,SEP000000000820,820
...

其中第一列和第二列是VARCHAR2,第三列是INTEGER
我在scott下建立了一个表是phone,三个字段的名称分别是MAC, DESCRIPTIONS, EXTENTION
前两个字段类型为VARCHAR2(20), 第三个字段类型为INTEGER

我现在希望将txt文件导入到scott.phone表里

 

任意文本编辑器创建.ctl文件,内容如下:
LOAD DATA
INFILE export.txt
INTO TABLE phone
FIELDS TERMINATED BY "," TRAILING NULLCOLS
(MAC,DESCRIPTIONS,EXTENTION)

其中,
第一行LOAD DATA意思是告诉SQL*Loader,要干啥? 这里是加载数据。
第二行INFILE *意思是数据从哪里来? 这里是包含在控制文件中。
第三行INTO TABLE 意思是数据要导到哪里? 这里是要到 phone表。
第四行FIELDS TERMINATED BY意思是数据之间用什么符号分隔? 这里是用 逗号 分隔。
第五行是数据要按什么顺序写到列里面

SQLLDR   username/password@tns_name   CONTROL=c:\temp\discount.ctl   LOG=c:\temp\discount.log  DATA=c:\temp\discount.txt   BAD=c:\temp\discount.bad   ERRORS=100000

 

如果没有使用 trailing nullcols,则当导入的数据中有字段为空值的情况下,会报如下错误:

 

export.log的内容如下所示,193条记录中有11条没有导入。


其他请参考:

http://blog.itpub.net/13165828/viewspace-609548/

http://zhidao.baidu.com/link?url=45QMv5HPXPbm6ko8v0pAh9rrhkDtlRNJbytdVefULiMjeWGt5OeV5W86P3Gt2tqArodQycw2TpicEBjpSPCjZxlgu3BCFcYFqC7zQhTrXYC


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值