Re: トランザクションについて
TKitabayashi 
			
			 
	投稿数: 90
	
			 
	投稿数: 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)
	
 
 - 
	
 
 -