sql loader导入数据如何把上传文件夹名作为一列插入,文件夹里是需要的txt文件 sql loader导入数据如何把上传文件夹名作为一列插入,文件夹里是需要的txt文件,怎么用shell实现?之前在网上看到有把文件名作为一列插入的,具体怎么实现的不清楚,现在把文件夹名作为一列插入不知道如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ---字段名 CONSTANT 'J:\Data\1.txt' 默认路径直接写在control文件里load data infile 'J:\1.txt' append into table tb fields terminated by ',' trailing nullcols (a,b,c CONSTANT 'HJM' ) //字段名 CONSTANT 'J:\Data\1.txt' 默认路径直接写在control文件里load data infile 'J:\1.txt' append into table tb fields terminated by ',' trailing nullcols (a,b,c CONSTANT 'HJM' ) 这是把新增加的字段--文件夹名写死了吧,如果文件夹名字是变化的呢,意思就是我要通过shell来自动取这个文件夹的名称,然后把他作为要插入表的的一列的值 sqlldr导入的时候肯定是一个文件一个文件的导入啊,你变一个数据文件,就换一次呗,又不复杂!我觉得他数据文件应该不会太多的 sqlldr导入的时候肯定是一个文件一个文件的导入啊,你变一个数据文件,就换一次呗,又不复杂!我觉得他数据文件应该不会太多的sqlldr userid=$db_user/$db_pswd@$db_tnsn control=$ctl_path/${column}.ctl data=$data_path/${column}.txt bad=$bad_path/${column}.bad log=$log_path/${column}.log rows=50000 bindsize=2048000 direct=ture这是sqlload脚本,每个文件夹下面都有几百张表,sqlload导入的时候需要把这些表都导入进去,如果写死的话不好实现这个功能,而且具体的文件夹名称是随着日期变化而变化的 load datacharacterset UTF8truncate into table O_HX_KYZB_XJKHDZREENABLE DISABLED_CONSTRAINTSfields terminated by '~@~'trailing nullcols(FARENDMA ,LAOKEHUH ,XINKEHUH ,KEHUZWMC ,KEHUYWMC)这是其中的一个CTL文件,每个文件夹下大概有三百个这个文件,现在TXT文件存在放目录:/home/weblogic/ods_data/data/hx下,hx这个子目录名称是随时变化的,现在要把这个随时变化的目录名称添加到表的最后一列,具体用shell如何操作?二楼的朋友给了个思路,如果把trailing nullcols (a,b,c CONSTANT 'HJM' )中的'HJM'替换为一个可以执行的取值命令呢,不知道可以吗? 我试了下,test CONSTANT `ls /home/weblogic/ods_data/data`这一段,用在这里是报错的,不知道用什么办法可以把命令加到ctl文件里进行处理 #变量赋值aa = /home/weblogic/ods_data/data/·ls /home/weblogic/ods_data/data/·调用变量 ${aa} #变量赋值aa = /home/weblogic/ods_data/data/·ls /home/weblogic/ods_data/data/·调用变量 ${aa}就是在ctl文件里,有一个字段的值是变量,怎么赋值给他,你说的是在ctl文件添加一个变量赋值么,我这样试过还是报错LOAD DATACHARACTERSET UTF8TRUNCATE INTO TABLE O_HX_KAPP_HUOBCSREENABLE DISABLED_CONSTRAINTSFIELDS TERMINATED BY '~@~'aa=`ls /home/weblogic/ods_data/data`TRAILING NULLCOLS(FARENDMA ,FENHBIOS ,BZBIEMNG ,HUOBDAIH ,HBMCHENG ,HUOBZMSX ,HUOBFHAO ,GUOBIEDM ,FUBIJINW ,PJZDWEIS ,ZUIXHBDW ,ZUIXJXDW ,ZUIXJZDW ,ZJFENWEI ,XJINQXXE ,HUOBIDJI ,JIARUBZZ ,BIZHONGG ,YINGLBHB ,SHENMING ,WEIHGUIY ,WEIHJIGO ,WEIHRIQI ,WEIHSHIJ ,SHIJCHUO ,JILUZTAI ,test CONSTANT ${aa}) 不能在控制文件即ctl文件里把变量值赋值给字段吗,考虑到控制文件大概在300左右,不知道动态生成控制文件方便么? 想了下,你的ctl文件里面不能用这样的变量的,这个变量是shell里面的,传入ctl里面的要是常量,想办法替换ctl最后一行,这个用shell是可以实现的 求一Oracle的查询语句 SQL语句求教!!! 数据库恢复的的问题 急 哪位高手帮帮忙 导入导出问题 sql语句优化问题 小问题(连个表无关联查询的问题) 两个数据库间如何同步和表记录更新 关于数据表访问冲突的问题 真郁闷oracle WIN XP下安装Oracle9i失败,急 怎么中Oracle中对当前行的三个字段比较大小,选出符合条件的数据? 成为一名合格的数据库管理员需要学习什么?
---字段名 CONSTANT 'J:\Data\1.txt' 默认路径直接写在control文件里
load data infile 'J:\1.txt' append into table tb fields terminated by ',' trailing nullcols (a,b,c CONSTANT 'HJM' )
load data infile 'J:\1.txt'
append into table tb
fields terminated by ','
trailing nullcols (a,b,c CONSTANT 'HJM' )
sqlldr userid=$db_user/$db_pswd@$db_tnsn control=$ctl_path/${column}.ctl data=$data_path/${column}.txt bad=$bad_path/${column}.bad log=$log_path/${column}.log rows=50000 bindsize=2048000 direct=ture
这是sqlload脚本,每个文件夹下面都有几百张表,sqlload导入的时候需要把这些表都导入进去,如果写死的话不好实现这个功能,而且具体的文件夹名称是随着日期变化而变化的
characterset UTF8
truncate into table O_HX_KYZB_XJKHDZ
REENABLE DISABLED_CONSTRAINTS
fields terminated by '~@~'
trailing nullcols
(FARENDMA ,
LAOKEHUH ,
XINKEHUH ,
KEHUZWMC ,
KEHUYWMC
)
这是其中的一个CTL文件,每个文件夹下大概有三百个这个文件,现在TXT文件存在放目录:/home/weblogic/ods_data/data/hx下,hx这个子目录名称是随时变化的,现在要把这个随时变化的目录名称添加到表的最后一列,具体用shell如何操作?
二楼的朋友给了个思路,如果把trailing nullcols (a,b,c CONSTANT 'HJM' )中的'HJM'替换为一个可以执行的取值命令呢,不知道可以吗?
#变量赋值
aa = /home/weblogic/ods_data/data/·ls /home/weblogic/ods_data/data/·调用变量 ${aa}
#变量赋值
aa = /home/weblogic/ods_data/data/·ls /home/weblogic/ods_data/data/·调用变量 ${aa}
就是在ctl文件里,有一个字段的值是变量,怎么赋值给他,你说的是在ctl文件添加一个变量赋值么,我这样试过还是报错
LOAD DATA
CHARACTERSET UTF8
TRUNCATE INTO TABLE O_HX_KAPP_HUOBCS
REENABLE DISABLED_CONSTRAINTS
FIELDS TERMINATED BY '~@~'
aa=`ls /home/weblogic/ods_data/data`
TRAILING NULLCOLS
(FARENDMA ,
FENHBIOS ,
BZBIEMNG ,
HUOBDAIH ,
HBMCHENG ,
HUOBZMSX ,
HUOBFHAO ,
GUOBIEDM ,
FUBIJINW ,
PJZDWEIS ,
ZUIXHBDW ,
ZUIXJXDW ,
ZUIXJZDW ,
ZJFENWEI ,
XJINQXXE ,
HUOBIDJI ,
JIARUBZZ ,
BIZHONGG ,
YINGLBHB ,
SHENMING ,
WEIHGUIY ,
WEIHJIGO ,
WEIHRIQI ,
WEIHSHIJ ,
SHIJCHUO ,
JILUZTAI ,
test CONSTANT ${aa}
)