背景:
sqlldr用的不多,但每次用到的时候,命令总是记不住,因此记录下基本命令,以备不时之需。
步骤:
需要准备两个文件:
1.数据文件,可以是txt,可以是csv,
2.控制文件。
控制文件的内容参考:
options(skip=1) --第一行不处理
load data
infile 'T_DIC_PHONEPREFIXINFO.csv' --数据文件和控制文件放在一个目录下,就不用写路径名了
truncate --分情况有可能没有权限就换成“append”
into table T_DIC_PHONEPREFIXINFO
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(PROV,CITY,AREACODE,PREFIX,BRANDCODE --针对csv文件(以逗号作为分隔符)
PROV terminated by “|”,CITY terminated by “|”,AREACODE terminated by “|”,PREFIX terminated by “|”,BRANDCODE terminated by “|”--假如分隔符是“|”
)
3.写命令
写成一个文件执行,需要先调用环境变量,并确保执行命令的用户有权限对表所在的用户有执行查询和更新的权限。
create synonym HPDD_EXECUTE_LINUX.t_nsck for hpdd_prod.t_nsck;--建同义词
grant insert,delete on t_nsck to HPDD_EXECUTE_LINUX;--赋权
文件内容:
. $HOME/hpdd_env_exec --调用环境变量
sqlldr userid=$ORACLE_USER/$ORACLE_PWD@$ORACLE_SID control=$ENV/data/hari/annie/a.ctl data=$ENV/data/hari/annie/a.csv bad=$ENV/data/hari/annie/bad.txt log=$ENV/data/hari/annie/log.txt
读后有收获可以微信请作者吃棒棒糖哦~ ,有任何问题评论留言我会回复哒。