Q&A履歴を纏めました。
(1)Open棟梁を使ったバッチの処理方式に関する図や説明
ドキュメントお持ちでしたら、ご提供を頂けませんでしょうか。
※ JP1からshellかbatでコマンド起動して
DBアクセスしたり帳票出力したりするバッチを作る予定です。
→ すいません、図はありませんが、
B層/D層を、Console Applicationから呼び出しているだけです。
大量データ処理は、「RerunnableBatch_sample3」を参考にしてください。
他のバッチ・サンプルと異なるのは、
「疑似フェッチ方式」と「バッチINSERT、UPDATE文生成機能」を
使用している点です(Oracleではフェッチサイズと配列バインドがあるので上記は不要)。
配列バインドが強力だという話。 - 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