sqldr

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:199

[font=Helvetica,]sqlldr userid="smb/czty_smb@zsms" control="t_user_mobile_list.ctl" data="t_user_mobile_list.txt" log="_user_mobile-list.log"

sqlldr中主键自增长解决方法:需要将自增长的字段放在最后一行

load data
infile *
Append into table t_module_status
FIELDS TERMINATED BY '|' ----空格 BY WHITESPACE
TRAILING NULLCOLS
(
module_id,
time_id date'yyyy-mm-dd hh24:mi:ss',
module_status,
id "SEQ_MODULE_STATUS.nextval"
)

1. 首先需要ctl文件 ctl文件格式如下:load data infile *Append into table t_user_mobile_list ---插入的表名称FIELDS TERMINATED BY ','---文件以’,’分割 FIELDS TERMINATED BY WHITESPACE 空格分隔TRAILING NULLCOLS --表的字段没有对应的值时允许为空( subid,smbms,productcat,sub_type,create_time date "YYYY-MM-DD HH24:MI:SS", ----data类型字段需要制定格式part,submit_flag, name ) 如果对应的字段为空,则可以不在对应列中出现! 2. 执行Sqlldr命令sqlldr userid="smb/czty_smb@zsms" control="t_user_mobile_list.ctl" data="t_user_mobile_list.txt" log="_user_mobile-list.log"

sqlldr userid="smb/czty_smb@zsms" -----指定数据库control="t_user_mobile_list.ctl" ----第一步生产的ctl文件data="t_user_mobile_list.txt" -----需要导入的txt文件log=”t_user_mobile-list.log“ -------将信息写到日志中 注意:1. 执行该命令时,要将导入的文件和crl文件在同一个目录下2. Sqlldr一次只能导入500w行,如果导入文件超过500w行,先将该文件分割成多个文件再执行。分割命令:split 文件名 -l 3000000 fee(前缀)--将该文件按300w行分成N个文件
Shell脚本执行
[img]file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image(4).png[/img]

Ctl文件
[img]file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image(5).png[/img]
文件

[img]file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image(6).png[/img]
[color=gray]来源: http://9274590.blog.51cto.com/9264590/1844939

本文标签:
本文标题:sqldr
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】