DB ロールバック トランザクション

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  アクション > データベース >

DB ロールバック トランザクション

イベントがトリガーされると、ロールバック トランザクションのアクションは接続コンボ ボックスで選択されたページソースのトランザクションをロールバックします。このコンボ ボックスはプロジェクトのすべてのページソースをリストし、使用されるための追加データベース接続のオプションを与えます。

MTDRollbackTransaction

エラーの処理

エラー時 オプションはエラーが発生すると何が行われるかを決定する事ができます:

 

スクリプトの中断: エラーの発生後、トリガーされたイベントの後全てのアクションは終了されます。これがエラーが発生した時のデフォルトのアクションです。 エラーに関わらず継続する場合は、継続またはスローオプションを選択します。
継続: アクションは終了されません。その代わりに、以下のイベントの際に何が起こるかを選択する事ができます: エラーが発生しない場合 (成功時)、 またはエラーが発生する場合 (エラー時)。例えば、ページのロードが成功したかを示すメッセージを表示することができます。
スロー: エラーが検出されると、このオプションは トライ/キャッチ アクションの変数内に保管された例外をスローします。 トライ/キャッチ アクション の キャッチ 部分は、エラーが発生した時、どのアクションが起こるかを指定します。エラーが発生しない場合は、次のアクションが処理されます。詳細に関しては、 トライ/キャッチ アクションのセクションを参照してください。

 

DB トランザクションについて

トランザクションが必要な各 DB アクセスには、自動的にトランザクションが作成され、後に自動的に閉じられます。これは一部のセットアップでは理想的です。例えば、同時に自動的に更新したい 2 つのDB ページソースが存在する場合、両方のテーブルが保存されると、トランザクションがコミットされます。その他の場合はロールバックされます。このようなシチュエーションに対応するために、接続ベースのトランザクションを作成することができます。

 

トランザクションの開始 が始まると、同じ DB 接続に属するすべての DB オペレーションはこのトランザクションを使用します。

 

トランザクションのコミット により、トランザクションの外界で変更が可視化されます。変更はロールバックされることができます。 この場合、ページソースに保存した場合でも、ロールバックの後で変更は可視化されません! 閉じられていない (コミットされたまたはロールバックされた) トランザクションは、アクション ツリーのが最後に到達すると自動的にロールバックされます! この効果についてメッセージ ウィンドウに警告が表示されます。

 

上記の振る舞いはトランザクション アクションについて参照していますが、振る舞いはトランザクションと同じ接続を使用するDB オペレーションにも適用されます。

 

 


(C) 2019 Altova GmbH