在oracle数据库中导入txt文本方法,如现在需要将t_user_mobile_list.txt中的数据导入到oracle数据库t_user_mobile_list表中。
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"----第一步生产的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脚本执行
Ctl文件
文件