千家信息网

sqlldr的用法

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,在oracle数据库中导入txt文本方法,如现在需要将t_user_mobile_list.txt中的数据导入到oracle数据库t_user_mobile_list表中。1. 首先需要ctl文件ct
千家信息网最后更新 2024年11月11日sqlldr的用法

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文件

文件


0