このサイトをビューするために JavaScript を有効化してください。

Altova MobileTogether Designer

DB トランザクションの開始アクションによりイベントがトリガーされると、接続コンボ ボックスにより選択されたデータ ソースと共にトランザクションが開始されます。このコンボ ボックスはプロジェクトのすべてのデータソースをリストし、 DB トランザクションの開始アクション内で具体的に使用されるための追加データベース接続のオプションを与えます。

MTDBeginTransaction

トランザクション ロック オプションは保護のレベルを指定し、書き込みアクション中にデータが破損しないことを保証します。以下のオプションから選択することができます:

 

データベース デフォルト: DB、 サーバー、クライアント上の DB-に関連したデフォルトの設定を収集します。

影響を受けるテーブルへの書き込みを回避: 他の接続を介して、DB に書き込み中の場合、DB に書き込むことはできません。書き込みトランザクションは、他の書き込みトランザクションが完了するまで、 遅延され、その他の場合、エラーメッセージが表示されます。

影響を受けるテーブルからの読み取り、およびテーブルへの書き込みを回避: 他の接続を介して、DB に書き込み中の場合、DB に書き込むことはできません。トランザクションは、他のトランザクションが完了するまで、 遅延され、その他の場合、エラーメッセージが表示されます。

 

SQLite データベースに接続すると タイムアウト (秒) プロパティを使用できるようになります。これにより書き込みロックを適用する待機期間を指定できるようになります。タイムアウトの期間が指定されていなく、トランザクションの開始時に書き込みロックが適用されない場合 SQLite はすぐに中断されます。

 

 

エラーの処理

エラー時 オプションはエラーが発生すると何が行われるかを決定する事ができます。このアクションのために厳密に(エラーの処理を提供する)エラーの処理を定義することができるため、このようなエラーはエラーではなく警告として処理されます。この利点はエラーの処理が定義済みのアクションでエラーをチェックする必要がないことです。次のエラー処理オプションを使用することができます:

 

スクリプトの中断: エラーの発生後、トリガーされたイベントの後全てのアクションは終了されます。 これがエラーが発生した時のデフォルトのアクションです。エラーに関わらず継続する場合は、継続またはスローオプションを選択します。

継続: アクションは終了されません。その代わりに、以下のイベントの際に何が起こるかを選択する事ができます: エラーが発生しない場合 (成功時)、 またはエラーが発生する場合 (エラー時)。例えば、ページのロードが成功したかを示すメッセージを表示することができます。

スロー: エラーが検出されると、このオプションは トライ/キャッチ アクションの変数内に保管された例外をスローしますトライ/キャッチ アクション の キャッチ 部分は、エラーが発生した時、どのアクションが起こるかを指定します。 エラーが発生しない場合は、次のアクションが処理されます。詳細に関しては トライ/キャッチ アクション のセクションを参照してください。

 

 

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

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

 

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

 

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

 

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

 

 

(C) 2020 Altova GmbH