Oracle的txt数据导入【Oracle数据库的Load详解】

本文介绍如何使用Oracle的sqlldr工具通过ctl控制文件将TXT格式的数据批量导入到Oracle数据库的方法。文章详细解释了ctl文件的配置及sqlldr命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle的txt数据导入可采用Oracle的Load方法,先编写ctl文档,再使用sqlldr命令进行数据导入


一、 ctl文档解析

  load   data   
  infile   'C:\winssage_deploy\ccp\ch_inf_subscriber\ch_rec_substracnt.txt'   
  append   into   table  CH_REC_SUBSTRACNT
  fields terminated by "|"
  (REGION,IMEI,MAIN_SERVNUMBER1,MAIN_SERVNUMBER1_ARPU,MAIN_SERVNUMBER1_4GFLOW,MAIN_SERVNUMBER1_TOTALFLOW, MAIN_SERVNUMBER1_23GFLOW,MAIN_SERVNUMBER2,MAIN_SERVNUMBER2_ARPU,MAIN_SERVNUMBER2_4GFLOW,MAIN_SERVNUMBER2_TOTALFLOW,MAIN_SERVNUMBER2_23GFLOW,RECMONTH,LOADTIME DATE 'yyyy-mm-dd HH24:mi:ss')

       infile 指数据源文件 这里我们省略了默认的 discardfile   result.dsc   badfile   result.bad   

    into   table   XX   默认是INSERT,也可以 append into   table   XX   ; APPEND为追加方式,或REPLACE   
    terminated   by   ',' 指用逗号分隔 ; terminated   by   whitespace 结尾以空白分隔 

   CHARACTERSET AL32UTF8   指txt文档的编码

      括号里txt数据的各列对应的数据库字段

      采用第一行作为字段定义的设置还不知道


二、sqlldr命令

sqlldr userid='user/password' control='C:\winssage_deploy\ccp\ch_inf_subscriber\ch_inf_subscriber.ctl' log='C:\winssage_deploy\ccp\ch_inf_subscriber\log.log'

userid -- Oracle 的 username/password[@servicename]
control -- 控制文件,可能包含表的数据
log -- 记录导入时的日志文件,默认为 控制文件(去除扩展名).log
bad -- 坏数据文件,默认为 控制文件(去除扩展名).bad
data -- 数据文件,一般在控制文件中指定。用参数控制文件中不指定数据文件更适于自动操作
errors -- 允许的错误记录数,可以用他来控制一条记录都不能错
rows -- 多少条记录提交一次,默认为 64
skip -- 跳过的行数,比如导出的数据文件前面几行是表头或其他描述

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值