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

来源:互联网 发布:货物进出库软件 编辑:程序博客网 时间:2024/05/16 23:55

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 -- 跳过的行数,比如导出的数据文件前面几行是表头或其他描述

   

0 0