Java批处理程序执行环境变数的设定内容

 

一.env.bat

set JRE_HOME=C:/j2sdk1.4.1_02
set ORACLE_HOME=D:/oracle/ora92
set DB_USR=usr_KT02cs
set DB_PASS=usr_KT02cs

rem @echo off
rem 测试设定
set BATCH_DIR=C:/v2r1/batch
set JRE_HOME=C:/Program Files/Java/j2re1.4.1_02
set ORACLE_HOME=D:/oracle/ora92
set DB_USR=usr_ap02cs
set DB_PASS=usr_ap02cs

set JAR_DIR=%BATCH_DIR%/bin
set CLASSPATH=%ORACLE_HOME%/jdbc/lib/classes12.jar
set CLASSPATH=%CLASSPATH%;%JAR_DIR%/gecccommon.jar
set CLASSPATH=%CLASSPATH%;%JAR_DIR%/log4j-1.2.8.jar
set CLASSPATH=%CLASSPATH%;%JAR_DIR%/batch.jar
set PATH=%PATH%;%JRE_HOME%/bin
set PATH=%PATH%;%ORACLE_HOME%/bin

rem set JAVA_OPTION=%JAVA_OPTION% -Dlog4j.configuration=file:/%BATCH_DIR%/logs/log4j.properties
@echo on
java %JAVA_OPTION% -cp "%CLASSPATH%" %MAIN_CLASS% jdbc:oracle:oci:@DV %DB_USR% %DB_PASS% 

二.JBT01.bat

@rem
@rem $Id: JBT01001.bat,v 1.2

@rem

set MAIN_CLASS=com.gecc.batch.JBT01
call env.bat


pause

三.Java程序(JBT01.java)

package com.gecc.batch;

import java.lang.*;
import java.util.*;
import java.sql.*;

import com.gecc.common.*;
import com.gecc.common.db.*;
import com.gecc.common.pattern.JFBT01001;
/**
 * HP 电话银行账号<p>
 */
public class JBT01 extends JBT01 implements R100, Common_ConstIF{

 public static void main(String args[])
 throws Exception{
  execute(new JGBT01001(), args);
 }

 public void execute(RSYGS900001 dbio, Map map)throws Exception{
  logger.info("JGBT01001#execute start");
  
  // 营业店清单取得
  Vector vec = getMiseNo(dbio);
  int counter = 0;
  // 营业店分循环処理

  for (int i = 0; i < vec.size(); i++){
   String sts = "9";     // 无未処理数据

   String miseNo = (String)vec.elementAt(i);
   // 未処理数据検索
   int cnt = getCountHPTEL(dbio, miseNo);
   // 未処理标志設定
   if (cnt > 0) sts = "1";    // 未処理数据有
   // 作業状況表更新
   if (updateSGYJK(dbio, miseNo, sts)){
    counter++;
   }
  }
  commit(dbio);
  
  // 日志输出
  logger.info( "ID:JBT01, 名称:HP电话银行账号状況, 更新件数:" + counter + ", 正常終了");
  logger.info("JGBT01001#execute end");
 }
 
 /**
  * 店番号取得処理
  * 1000番以前的店番取得。
  * @return Vector 店番清单
  */
 private Vector getMiseNo(RSYGS900001 dbio)throws GECCException, SQLException{
  Vector vec = new Vector();
  ResultSet rs = null;

  try{
   // 処理区分
   dbio.setSyori(IO_SHORI_DB_SELASC);  // 複数件検索 dbio.set
   // 逻辑DB名
   dbio.setLogicalDb("店");
   // 取得列名
   dbio.setDbTbl("店番","");
   // WHERE文
   String where = "店番 < 1000";


   dbio.setWhereSql(where);
   // SQL実行
   dbio.execute();
   if (IO_RET_OK.equals(dbio.getRetcd())) {
    rs = dbio.getResult();
    while(rs.next()){
     vec.add(String.valueOf(rs.getInt("店番")));
    }
   }
   return vec;
  }catch(Exception e){
   throw new GECCSysException(e.toString());
  }finally{
   if (rs != null) {
    try {
     rs.getStatement().close();
    } catch (Exception e) {}
   }
  }
 }
 
 /**
  * HPTEL口座登録変更表未処理数据検索
  * @param  String miseNo 店番
  * @return int           数据件数
  */
 private int getCountHPTEL(RSYGS900001 dbio, String miseNo)throws GECCException, SQLException{
  int i = 0;
  ResultSet rs = null;
  // DBIO初期化
  initDBIO(dbio);
  
  try{
   // 処理区分
   dbio.setSyori(IO_SHORI_DB_SELASC);  // 複数件検索
   // 逻辑DB名
   dbio.setLogicalDb("HPTEL口座登録変更");
   // 取得列名
   dbio.setDbTbl("COUNT(*)","");
   // WHERE文
   String where = "送信店番 = " + miseNo + " AND 打印区分 = '0'";
   dbio.setWhereSql(where);
   // SQL実行
   dbio.execute();
   rs = dbio.getResult();
   if (rs.next()){
    i = rs.getInt("COUNT(*)");
   }
   return i;
  }catch(Exception e){
   e.printStackTrace();
   throw new GECCSysException(e.toString());
  }finally{
   if (rs != null) {
    try {
     rs.getStatement().close();
    } catch (Exception e) {}
   }
  }
 }
 
 /**
  * 作业状況表店番记录更新。
  * @param String miseNO 店番
  * param  String sts    未処理标记
  */
 private boolean updateSGYJK(RSYGS900001 dbio, String miseNo, String sts)throws GECCException, SQLException{
  //DBIOを初期化
  initDBIO(dbio);

  try{
   // 処理区分
   dbio.setSyori(IO_SHORI_DB_UPD);  // DB更新
   // 逻辑DB名
   dbio.setLogicalDb("作业状況");
   // 主键項目
   dbio.setKeyList("店番", miseNo);
   // 取得列名
   dbio.setDbTbl("HP",sts);
   // SQL実行
   dbio.execute();
   if (IO_RET_OK == dbio.getRetcd()){
    return true;
   }else{
    return false;
   }
  }catch(Exception e){
   dbio.debug();
   throw new GECCSysException(e.toString());
  }finally{
   dbio.closeResulSet();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值