2017-07-13 4 views
0

私はDB2からアンロードするバネバッチジョブを持っています。また、ストアドプロシージャを呼び出すことでDB2でデータの更新、挿入、または削除を行った後、春バッチジョブでコミットが発生していません

私はSPから何かエラーが発生していません。

私はメタテーブル - BATCH_STEP_EXECUTIONを確認しましたが、commit-countが表示されますが、実際にはデータが変更されていないので、実際にはコミットしていません。

私の知る限りでは、コミットはチャンクサイズに基づいて行われるべきです。

誰かが助けて問題の原因を教えてもらえますか?

より多くの情報が必要な場合は私に知らせてください

+0

設定を共有してください –

答えて

0

それがコミットいつ、どのように確認するために、ストアドプロシージャのソースコードを読んで、それがエラーに反応する、具体的方法について説明します。必要に応じて、最初のコミットが起きるまでストアドプロシージャをデバッグします。ロールバックの証拠(データベース監視機能および/またはDB2診断プログラム)を確認します。

0

Springバッチコミットがデータベースコミットと異なることを理解してください。 Springバッチコミットとは、プロセッサがリーダライタメソッドから読み込んだ後にライタにチャンクを渡したことを意味します。つまり、ライタメソッドが実際に更新しているもの(DBテーブル)のレコードをDBにトラッキングしません。

スプリングバッチリポジトリのメタデータがあなたとOKのステップステータスが正常に見える場合は、クエリとストアドプロシージャに問題があります。

関連する問題