感觉这个调用层次太多,而且参数设置也不合理,请看下面流程
1 我先建立了16个ctl文件(因为有16个dat文件),放在a/ctl文件夹中
2 将16个dat文件放在了a/dat文件夹中(文件名为:名字_$date.dat)
3 建立了a/bad,a/dis,a/log 三个文件夹
4 建立了README文件(readme,备注) 内容是
dat---*.dat files
ctl---*.ctl files
bad---*.bad record files for SQLLDR
dis---*.dis Discard records for SQLLDR
log---*.log Log files for SQLLDR
USAGE:
./import tablename datfile
ctl/tablename.ctl must exists
dat/datfile.dat must exists
./pump.sh 01_20081201个文件夹
5 建立了一个脚本文件import.sh
内容是:date=`date +%Y%m%d_%H%M%S`
ext=$1_$date
sqlldr userid=pcrs/pcrs control=ctl/$1.ctl log=log/$ext.log bad=bad/$ext.bad discard=dis/$ext.dis data=dat/$2.dat direct=y
6 用pump.sh脚本去运行它,内容为:
import.sh LOAN LOAN_$1
import.sh LS_APPL_PPSL LS_APPL_PPSL_$1
import.sh CR_LN_HDR CR_LN_HDR_$1
1 我先建立了16个ctl文件(因为有16个dat文件),放在a/ctl文件夹中
2 将16个dat文件放在了a/dat文件夹中(文件名为:名字_$date.dat)
3 建立了a/bad,a/dis,a/log 三个文件夹
4 建立了README文件(readme,备注) 内容是
dat---*.dat files
ctl---*.ctl files
bad---*.bad record files for SQLLDR
dis---*.dis Discard records for SQLLDR
log---*.log Log files for SQLLDR
USAGE:
./import tablename datfile
ctl/tablename.ctl must exists
dat/datfile.dat must exists
./pump.sh 01_20081201个文件夹
5 建立了一个脚本文件import.sh
内容是:date=`date +%Y%m%d_%H%M%S`
ext=$1_$date
sqlldr userid=pcrs/pcrs control=ctl/$1.ctl log=log/$ext.log bad=bad/$ext.bad discard=dis/$ext.dis data=dat/$2.dat direct=y
6 用pump.sh脚本去运行它,内容为:
import.sh LOAN LOAN_$1
import.sh LS_APPL_PPSL LS_APPL_PPSL_$1
import.sh CR_LN_HDR CR_LN_HDR_$1
@echo off
:start
echo 请稍等...........
for /f %%i in (d:\erpdate\ctl\path.txt) do call :ss %%i
goto :eof
:ss
set file=%1
sqlldr userid=erp/erp@eam55 control=d:\erpdate\ctl\%file% log=d:\erpdate\ctl\log\%file%
goto :eof
:end
@pause在path.txt文件中将你的ctl文件都放进去,格式如下:
erp_arap_djzb.ctl
erp_arap_djfb.ctl
erp_bd_corp.ctl
erp_arap_djlx.ctl
erp_sm_user.ctl
erp_bd_busitype.ctl
erp_bd_cubasdoc.ctl
erp_bd_psndoc.ctl
erp_bd_subjtype.ctl
erp_bd_balatype.ctl
erp_bd_deptdoc.ctl
erp_bd_currtype.ctl
erp_bd_jobbasfil.ctl
erp_bd_invbasdoc.ctl