69 lines
1.7 KiB
Plaintext
69 lines
1.7 KiB
Plaintext
|
|
||
|
|
||
|
|
||
|
dir="/cpic/cpicapp/east"
|
||
|
dmdir="/cpic/cpicapp/dm3/bin"
|
||
|
cd $dir
|
||
|
|
||
|
if [ $# -ne 1 ];then
|
||
|
cat << EOF
|
||
|
Usage: $0 dirname
|
||
|
dirname
|
||
|
EOF
|
||
|
exit 1
|
||
|
fi
|
||
|
dirname=$1
|
||
|
|
||
|
|
||
|
list=`ls ${dirname}/*.txt`
|
||
|
for line in $list
|
||
|
##cat table.list|while read line
|
||
|
do
|
||
|
filename=${line#*/}
|
||
|
tabname="EAST_"${filename%-*}
|
||
|
echo $tabname
|
||
|
|
||
|
##将表名转换为小写
|
||
|
c_tabname=`echo "${tabname}"|tr [A-Z] [a-z]`
|
||
|
|
||
|
##c_tabname=`echo "${tabname}"`
|
||
|
echo $c_tabname
|
||
|
|
||
|
|
||
|
result=`${dmdir}/disql ****/'"********"'@*******:***** << !
|
||
|
set heading off
|
||
|
set feedback off
|
||
|
set pagesize 0
|
||
|
set verify off
|
||
|
set echo off
|
||
|
set lineshow off
|
||
|
SET TIMING off
|
||
|
|
||
|
select '|'||trim(LISTAGG(column_name,',')within group(order by column_id))||'|' from (select column_name||'#'||case when data_type in('CHAR','VARCHAR2','NVARCHAR2','VARCHAR','TEXT') AND DATA_LENGTH > 255 THEN 'CHAR(8000)' ELSE '' END column_name,column_id from user_tab_columns ta where table_name = upper('${tabname}'));
|
||
|
|
||
|
exit
|
||
|
!`
|
||
|
|
||
|
echo $result>clumns01.txt
|
||
|
result2=`cut -d$'|' -f2 clumns01.txt`
|
||
|
echo $result2>clumns01.txt
|
||
|
sed s/[[:space:]]//g clumns01.txt>clumns.txt
|
||
|
sed -i 's/#/ /g' clumns.txt
|
||
|
|
||
|
##拼装control文件
|
||
|
echo "load data">tmp.ctl
|
||
|
echo "infile '${dir}/import20250630/${filename}'">>tmp.ctl
|
||
|
##echo "infile '${dir}/import20250228/${c_tabname}.txt'">>tmp.ctl
|
||
|
echo "badfile '${dir}/bad/${c_tabname}.bad'">>tmp.ctl
|
||
|
echo "into table ${c_tabname}">>tmp.ctl
|
||
|
echo "fields terminated by ' '" >> tmp.ctl
|
||
|
##echo "fields ' '">>tmp.ctl
|
||
|
echo "(">>tmp.ctl
|
||
|
cat clumns.txt>>tmp.ctl
|
||
|
echo ")">>tmp.ctl
|
||
|
|
||
|
${dmdir}/dmfldr userid=****/'"*********"'@********:***** control=\'${dir}/tmp.ctl\' null_mode=true
|
||
|
|
||
|
done
|
||
|
|