sqlldr导入

historycrmerror.ctl

注意:表中所有integer或number类型的都要用"TO_NUMBER()"转换一下

[xhtml]  view plain copy
  1. load data  
  2. infile ''  
  3. APPEND into table historycrmerror  
  4. FIELDS TERMINATED BY ',' optionally enclosed by '"'   
  5. TRAILING NULLCOLS  
  6. (  
  7. ERRORTIME       CHAR(16),  
  8. PAIORDERTYPE    "TO_NUMBER(:PAIORDERTYPE)",   
  9. SERIALNUMBER    "TO_NUMBER(:SERIALNUMBER)",  
  10. COID            CHAR(20),  
  11. CHECKFLAG       "TO_NUMBER(:CHECKFLAG)",  
  12. TIMESTAMP       CHAR(16),  
  13. SRCDEVICENO     CHAR(16),  
  14. USERID          CHAR(40),  
  15. PROVINCENO      CHAR(2),  
  16. CITYNO          CHAR(3),  
  17. AREACODE        CHAR(4),  
  18. CUSTOMERID      CHAR(20),  
  19. USERNAME        CHAR(200),  
  20. CERTIFICATETYPE CHAR(2),  
  21. CERTIFICATENO   CHAR(40),  
  22. USERPAYTYPE     CHAR(2),  
  23. PREPAYSYSTEMNO  CHAR(14),  
  24. SERSETTYPE      CHAR(2),  
  25. BINDINGTELENO   CHAR(40),  
  26. USERIDSTATUS    CHAR(2),  
  27. PASSWORD        CHAR(64),  
  28. USERIDTYPE      CHAR(2),  
  29. UIM             CHAR(40),  
  30. CUSTOMERFLAG    "to_number(:customerflag)",  
  31. DESCRIPTION     CHAR(255),  
  32. PRINTFLAG       Integer "0"  
  33. )  

historycrmerror_sqlldr.sh

[xhtml]  view plain copy
  1. #! /bin/sh  
  2.   
  3. #export ORACLE_HOME=/home/oracle/O9Home/9.2.0  
  4. #export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  
  5.   
  6. #需要根据具体配置修改UNIDIR,一般情况与.bash_profile中相同  
  7. #export UNIDIR=$HOME/svn/udb/udbcore/_bin/linux  
  8.   
  9.   
  10. #export PATH=$ORACLE_HOME/bin:/sbin:$PATH:$UNIDIR:.  
  11.   
  12. . $HOME/.bash_profile  
  13.   
  14. DB_USER=udb_systest  
  15. DB_PWD=udb  
  16. DB=udb  
  17.   
  18. CTL_PATH=$UNIDIR/job/historycrmerror/ctl  
  19. DATA_PATH=$UNIDIR/log  
  20. LOG_PATH=$UNIDIR/job/historycrmerror/log  
  21.   
  22. CTL_FILE='historycrmerror.ctl'  
  23.   
  24. BAD_PATH=$UNIDIR/job/historycrmerror/bad  
  25.   
  26. STOREDAY=0  
  27.   
  28. insert_db()  
  29. {  
  30.         storedate=`date +%Y%m%d --date=$STOREDAY' days ago'`  
  31.         echo $storedate  
  32.         for datafile in `ls $DATA_PATH/UDBCRM_ERROR_*.csv`  
  33.         do  
  34.                 basedataname=`basename ${datafile%.*}`  
  35.                 datadate=`expr substr $basedataname 14 8`  
  36.                 echo $datadate  
  37.                 if [ $datadate -le $storedate ] ; then  
  38.   
  39.                         datename=`date +%Y%m%d%H%M%S`  
  40.                         LOG_FILE=$basedataname'_'$datename.out  
  41.                         info=`sqlldr userid=$DB_USER/$DB_PWD@$DB control=$CTL_PATH/$CTL_FILE data=$datafile log=$LOG_PATH/$LOG_FILE direct=true`  
  42.                         mv $datafile $datafile'_'$datename.bak  
  43.                 fi  
  44.         done  
  45. }  
  46.   
  47.   
  48. insert_db  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值