バッチアプリ案件への導入

4 views
Skip to first unread message

nishi.74322014

unread,
Jan 21, 2019, 12:15:25 AM1/21/19
to OpenTouryoProject
Q&A履歴を纏めました。

(1)Open棟梁を使ったバッチの処理方式に関する図や説明
  ドキュメントお持ちでしたら、ご提供を頂けませんでしょうか。
  ※ JP1からshellかbatでコマンド起動して
    DBアクセスしたり帳票出力したりするバッチを作る予定です。

  → すいません、図はありませんが、
    単純にOpen棟梁のASP.NET、(2C/Sでない)3C/S用の
    B層/D層を、Console Applicationから呼び出しているだけです。

    大量データ処理は、「RerunnableBatch_sample3」を参考にしてください。
    他のバッチ・サンプルと異なるのは、
    「疑似フェッチ方式」と「バッチINSERT、UPDATE文生成機能」を
    使用している点です(Oracleではフェッチサイズと配列バインドがあるので上記は不要)。

    OracleのODP.NETのフェッチサイズと
    配列バインドが強力だという話。 - OSSコンソーシアム

(2)ログファイル名の取得
  バッチの実行中に、進捗ステータスをDBに書き込んでバッチの進捗を管理したい要件があります。
  この際に、DBに書き込む項目として、実行中のプログラムのログファイル名を登録したいのですが、
  どのようにすれば対象のログファイル名を取得することができますか。
  実行ファイル名ではなく書込みに使用しているログファイル名を取得したいです。
  例えば、ログのローリング設定を「Once」にして実行毎にファイルを切換した際に
  「OPERATION,20180215.174659.log」というファイル名を取得したいです。

  → カレントディレクトリ取得方法は下記をご参照下さい。

     アプリケーションの様々なパスを取得する方法 - マイクロソフト系技術情報 Wiki
      > 方法 > 方法 > System > System.Environment

    また、ファイル名はLogManager.GetLog4netIfでloggerを取得し、
    logger.GetAppenderで出力先 ファイル名 を 動的に 取得できそうです。
     log4net.ILog logger = LogManager.GetLog4netIf(loggerName);
     
    ・LogManager
    ・LogIF

    log4net で 出力先 ファイル名 を 動的に 取得、設定 する 方法 - galife
Reply all
Reply to author
Forward
0 new messages