oracle sqlldr导入文本 加载数据

 1、命令行下使用的一种格式:

     sqlldr dbuser/dbpasswd@host:port/dbname direct=true control=/test/app/test.ctl data=/test/app/test.txt log=test.log bad=test.bad  //若向本地数据库导入数据的话,可在oracle用户环境下,只用dbuser/dbpasswd连接。

    在非oracle用户环境下,使用sqlldr命令时,需先配置好oracle工具的环境变量。

   用data参数指定数据文件时,相应的ctl文件中,指定 INFILE ''

2、控制文件说明:

     文件后缀通常以ctl结尾。

    内容格式如下:

  UNRECOVERABLE ##加载数据不可恢复,RECOVERABLE:加载数据可恢复,CONTINUE_LOAD:表示继续加载

   LOAD DATA    ##加载数据

   INFILE 'test.txt'   ##数据文件位置,为*代表数据就在控制文件中,为''空时,表示文件位置参数由命令行参数data指定。

   REPLACE  ##完全替换表中数据(先DELETE表再INSERT,),INSERT:向空表中插入数据,APPEND:向表中追加数据,TRUNCATE:先TRUNCATE清除表,再INSERT.

   INTO TABLE tablename  ##数据要加载的目标表,应提前建好

   FIELDS TERMINATED BY "," TRAILING NULLCOLS ##设置数据部分字串的分隔符号,此处设为','; TRAILING NULLCOLS:指表中的字段在文件中没有对应值时,允许为空

   ( ID "trim(:ID)",                           ##此部分开始为表字段,可在字段名后,使用函数对值进行处理,示例"trim(:ID)"去除列前后空白

     number,

     createtime date 'yyyy-mm-dd hh24:mi:ss' nullif createtime=blanks, ##加载日期数据,指定日期格式,为空白时,加载为空

     testid filler, ##关键字 filler,表示此列对应的值不会加载

     value

   )

   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值