Symfoware Server 解説書 - FUJITSU - |
目次
索引
![]() ![]() |
第4章 Symfoware Serverのアプリケーション開発 | > 4.3 トランザクションと排他 |
Symfoware Serverでは、データベースの更新の確定は、データ操作(SQL文)の実行ごとに行われるのではなく、COMMIT文により行われます。
トランザクションは、トランザクションモードの設定をSQL文(SET TRANSACTION)で変更することにより制御できます。
トランザクションモードには、以下の2つの機能があります。
トランザクションアクセスモード
独立性水準
トランザクションモードについて、以下に説明します。
トランザクションアクセスモードは、以下の2種類から、実行できるSQL文を設定します。
トランザクション内で参照系のSQL文のみ、実行することができます。
トランザクション内で参照系および更新系のSQL文を実行することができます。
複数のトランザクションが同じ資源にアクセスする場合、何も制御を行わないと、データの矛盾が発生してしまいます。独立性水準では、このようなデータ矛盾が起こらないように、あるトランザクションがアクセスしているデータに対し、他のトランザクションによる参照または更新を制御します。
また、他のトランザクションが更新中の資源に対し、自トランザクションが参照または更新できるかを制御します。
独立性水準について、以下に示します。
独立性水準 |
トランザクション |
同時実行性 |
---|---|---|
SERIALIZABLE |
|
|
REPEATABLE READ |
|
|
READ COMMITTED |
|
|
READ UNCOMMITTED |
|
表:独立性水準を元に、自トランザクションが参照しているデータを他トランザクションで更新または追加が可能かの制御について、以下に示します。
表:独立性水準を元に、他トランザクションが更新しているデータを自トランザクションで参照が可能かの制御について、以下に示します。
トランザクション制御についての詳細は、“アプリケーション開発ガイド(埋込みSQL編)”を参照してください。
1つのトランザクションにおける最大使用可能時間を指定することができます。トランザクションが指定時間を超えた場合には、トランザクションをロールバックし、接続中のコネクションを切断します。同時に、SQL文実行時に獲得した資源を回収します。トランザクションの最大使用可能時間は、クライアント用の動作環境ファイル、サーバ用の動作環境ファイルまたはシステム用の動作環境ファイルに指定します。
目次
索引
![]() ![]() |