クラス Process_DBMerge
java.lang.Object
org.opengion.fukurou.process.AbstractProcess
org.opengion.fukurou.process.Process_DBMerge
- すべての実装されたインタフェース:
ChainProcess
,HybsProcess
Process_DBMerge は、UPDATE と INSERT を指定し データベースを追加更新
する、ChainProcess インターフェースの実装クラスです。
上流(プロセスチェインのデータは上流から下流へと渡されます。)から
受け取った LineModel を元に、DBTableModel 形式ファイルを出力します。
データベース接続先等は、ParamProcess のサブクラス(Process_DBParam)に
設定された接続(Connection)を使用します。
引数文字列中にスペースを含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』 の前後には、スペースは挟めません。必ず、-key=value の様に
繋げてください。
SQL文には、{@DATE.YMDH}等のシステム変数が使用できます。
- 形式サンプル:
- Process_DBMerge -dbid=DBGE -insertTable=GE41 [ -dbid=DB接続ID ] : -dbid=DBGE (例: Process_DBParam の -configFile で指定する DBConfig.xml ファイルで規定) [ -update=検索SQL文 ] : -update="UPDATE GE41 SET NAME_JA = [NAME_JA],LABEL_NAME = [LABEL_NAME] WHERE SYSTEM_ID = [SYSTEM_ID] AND CLM = [CLM]" [ -updateFile=登録SQLファイル ] : -updateFile=update.sql : -update や -updateFile が指定されない場合は、エラーです。 [ -update_XXXX=固定値 ] : -update_SYSTEM_ID=GE SQL文中の{@XXXX}文字列を指定の固定値で置き換えます。 WHERE SYSTEM_ID='{@SYSTEM_ID}' ⇒ WHERE SYSTEM_ID='GE' [ -insertTable=登録テーブルID ] : INSERT文を指定する場合は不要。INSERT する場合のテーブルID [ -insert=検索SQL文 ] : -insert="INSERT INTO GE41 (SYSTEM_ID,CLM,NAME_JA,LABEL_NAME) VALUES ([SYSTEM_ID],[CLM],[NAME_JA],[LABEL_NAME])" [ -insertFile=登録SQLファイル ] : -insertFile=insert.sql : -insert や -insertFile や、-table が指定されない場合は、エラーです。 [ -insert_XXXX=固定値 ] : -insert_SYSTEM_ID=GE SQL文中の{@XXXX}文字列を指定の固定値で置き換えます。 WHERE SYSTEM_ID='{@SYSTEM_ID}' ⇒ WHERE SYSTEM_ID='GE' [ -const_XXXX=固定値 ] : -const_FGJ=1 LineModel のキー(const_ に続く文字列)の値に、固定値を設定します。 キーが異なれば、複数のカラム名を指定できます。 [ -commitCnt=commit処理指定] : 指定数毎にコミットを発行します。0 の場合は、終了までコミットしません。 [ -display=[false/true] ] : 結果を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない]) [ -debug=[false/true] ] : デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.fukurou.process.AbstractProcess
BUFFER_LARGE, BUFFER_MIDDLE, CHAIN_FILE_USAGE, CR, DB_BATCH_SIZE, DB_PARAM_USAGE, PROCESS_PARAM_USAGE, TAB
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
クラスから継承されたメソッド org.opengion.fukurou.process.AbstractProcess
getArgument, logging, println, putArgument, putArgument, setLoggerProcess, throwException, throwException, toString
クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースから継承されたメソッド org.opengion.fukurou.process.HybsProcess
logging, println, putArgument, putArgument, setLoggerProcess
-
コンストラクタの詳細
-
Process_DBMerge
public Process_DBMerge()デフォルトコンストラクター。 このクラスは、動的作成されます。デフォルトコンストラクターで、 super クラスに対して、必要な初期化を行っておきます。
-
-
メソッドの詳細
-
init
プロセスの初期化を行います。初めに一度だけ、呼び出されます。 初期処理(ファイルオープン、DBオープン等)に使用します。- 定義:
init
インタフェース内HybsProcess
- パラメータ:
paramProcess
- データベースの接続先情報などを持っているオブジェクト- 変更履歴:
- 5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応), 5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)
-
end
プロセスの終了を行います。最後に一度だけ、呼び出されます。 終了処理(ファイルクローズ、DBクローズ等)に使用します。- 定義:
end
インタフェース内HybsProcess
- パラメータ:
isOK
- トータルで、OKだったかどうか[true:成功/false:失敗]- 変更履歴:
- 4.0.0.0 (2007/11/27) commit,rollback,remove 処理を追加, 5.1.2.0 (2010/01/01) insPmeta , updPmeta のクリア
-
action
引数の LineModel を処理するメソッドです。 変換処理後の LineModel を返します。 後続処理を行わない場合(データのフィルタリングを行う場合)は、 null データを返します。つまり、null データは、後続処理を行わない フラグの代わりにも使用しています。 なお、変換処理後の LineModel と、オリジナルの LineModel が、 同一か、コピー(クローン)かは、各処理メソッド内で決めています。 ドキュメントに明記されていない場合は、副作用が問題になる場合は、 各処理ごとに自分でコピー(クローン)して下さい。- 定義:
action
インタフェース内ChainProcess
- パラメータ:
data
- オリジナルのLineModel- 戻り値:
- 処理変換後のLineModel
- 変更履歴:
- 5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応), 5.3.8.0 (2011/08/01) useParamMetaData setNull 対応(PostgreSQL対応), 5.7.2.2 (2014/01/24) SQL実行エラーを少し詳細に出力します。, 8.5.4.2 (2024/01/12) PMD 7.0.0 ExceptionAsFlowControl 対応, 8.5.6.1 (2024/03/29) PstmtSetterUtil.pstmtValueSet メソッドを使用
-
report
プロセスの処理結果のレポート表現を返します。 処理プログラム名、入力件数、出力件数などの情報です。 この文字列をそのまま、標準出力に出すことで、結果レポートと出来るような 形式で出してください。- 定義:
report
インタフェース内HybsProcess
- 戻り値:
- 処理結果のレポート
-
usage
このクラスの使用方法を返します。- 定義:
usage
インタフェース内HybsProcess
- 戻り値:
- このクラスの使用方法
- このメソッドは、nullを返しません
-
main
このクラスは、main メソッドから実行できません。- パラメータ:
args
- コマンド引数配列
-