Re: トランザクションについて
TKitabayashi
投稿数: 90
親タスクのトランザクション開始をタスク前にし、
各タスクでイベントタイプ=エラーのイベントを作って、
その中でRollback関数を実行するとうまくいくと思います。
登録時のエラーということですので、イベントタイプ=エラーのイベントは、重複インデックスや制約違反だと思います。
また、親タスクに伝票ヘッダか伝票明細の宣言(両方でもよい)を追加する必要があると思います。
親タスクにSQL Serverのテーブルがないため、トランザクション開始をタスク前にしても、SQL Server上でトランザクションが開始されないためです。
まとめますと、
・親タスクのトランザクション開始=タスク前に変更
・親タスクに伝票ヘッダか伝票明細の宣言を追加
・各タスクにイベントレベル追加
で、伝票単位の登録が可能になると思われます。
各タスクでイベントタイプ=エラーのイベントを作って、
その中でRollback関数を実行するとうまくいくと思います。
登録時のエラーということですので、イベントタイプ=エラーのイベントは、重複インデックスや制約違反だと思います。
また、親タスクに伝票ヘッダか伝票明細の宣言(両方でもよい)を追加する必要があると思います。
親タスクにSQL Serverのテーブルがないため、トランザクション開始をタスク前にしても、SQL Server上でトランザクションが開始されないためです。
まとめますと、
・親タスクのトランザクション開始=タスク前に変更
・親タスクに伝票ヘッダか伝票明細の宣言を追加
・各タスクにイベントレベル追加
で、伝票単位の登録が可能になると思われます。
投票数:1
平均点:10.00
投稿ツリー
-
トランザクションについて
(mysticage, 2015-1-26 20:17)
-
Re: トランザクションについて
(TKitabayashi, 2015-1-27 9:46)
- Re: トランザクションについて (mysticage, 2015-2-6 16:59)
-
Re: トランザクションについて
(TKitabayashi, 2015-1-27 9:46)