informix批量數據文件導入庫sh程序

此sh主要是針對Informix數據庫中對於多個數據庫數據文件的處理,注意其中的truncate語句,如果每個數據文件就是一個數據表,那麼truncate table ${TABLE};就可以加到database ${DATABASE}後面.

此段sh程序在RedHat Linux AS4 上測試通過,應該適應於大多數UNIX或Linux操作系統.

 

#!/bin/skh

if [ $# != 2 ]
then
   echo 
"Usage : $0 dirname errlogfilename "
   
exit 1
fi

DIRNAME
=$1
LOGFILE
=$2

echo 
/dev/null > ${LOGFILE}

DATABASE
=migdbs

LOAD(  )
{
#truncate table ${TABLE};
dbaccess <<!  2>/tmp/tmp121213
   database ${DATABASE};
   load from ${FILENAME} insert into ${TABLE};
!

if [ $? != 0 ]
then 
   echo 
"Load table[${TABLE}] file[${FILENAME}] error." >> ${LOGFILE}
   
return 1;
fi 

echo `cat 
/tmp/tmp121213 | grep "row(s) loaded"`

}

cd ${DIRNAME}

TABLELIST
=`ls *.txt`
for FILENAME in $TABLELIST
{
    
#LEN=`echo $ii |awk '{print length( $0 )}'`   
    LEN=`echo ${FILENAME} |wc -c`   
    END
=`expr ${LEN} - 10 `
    TABLE
=t_`echo ${FILENAME} | cut -c1-${END}`
    echo 正在導入表[${TABLE}] 文件爲[${FILENAME}]
    LOAD migdbs ${TABLE} ${FILENAME}  
    echo 
""
}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章