FireDAC.Stan.Option.TFDTxOptions.Isolation
Delphi
property Isolation: TFDTxIsolation read FIsolation write SetIsolation default xiUnspecified;
C++
__property TFDTxIsolation Isolation = {read=FIsolation, write=SetIsolation, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDTxOptions |
説明
FireDAC によって管理されるトランザクションの、トランザクション排他レベルを示します。
Isolation プロパティを使用すると、現在のセッションでの次のトランザクションのトランザクション排他レベルを指定することができます。排他レベルを変更しても、現在アクティブであるトランザクションには影響はありません。デフォルト値は xiUnspecified
です。
ユーザーがデータベースで使用されるデフォルトとは異なる分離レベルを使用したい場合は、コンポーネントの設定またはコードで明示的に設定する必要があります。
Isolation プロパティ値は DBMS 非依存で、より近いネイティブ DBMS 排他レベルに変換されます。
レベル |
説明 |
|
デフォルト DBMS 排他レベルを使用。 これが Isolation プロパティのデフォルト値です。 |
|
他の同時トランザクションによってデータベースに行われたコミット前の変更の読み込みを許可します。コミットされていない変更は、恒久的なものではなく、いつでもロールバックされる(元に戻す)可能性があります。 このレベルでは、トランザクションは、他のトランザクションの影響から最低限、隔離されます。 |
|
他の同時トランザクションによってデータベースに行われたコミット済み(永続的な)変更の読み込みを許可します。 |
|
データベースのシングルの単発読み込みを許可します。トランザクションは、他の同時トランザクションによって行われた、その後の変更を見ることはできません。この排他レベルでは、トランザクションがいったんレコードを読み取ると、そのレコードのビューは変化しないことが保証されます(自分自身でレコードを編集しない限り)。 このレベルでは、トランザクションは、他のトランザクションで行われる変更から最も隔離されます。 |
|
開始時に存在するコミット済みの最終値の読み込みを許可します。 この排他レベルでは、トランザクションで実行されるすべてのクエリが、トランザクションの開始時のデータベースの状態に基づいて、データベースの同じスナップショットを参照していることが保証されます。 |
|
最高レベルの排他レベルで、トランザクションが完了するまで他のユーザーがデータを更新するのを抑制します。 この排他レベルは、すべてのトランザクションが排他的な方法で発生することを指定し、すべてのコミット済みトランザクションに対して、シリアルなトランザクション実行をエミュレートします。トランザクションは、1 つ1 つ順番に実行されたかのようになります。 |