Bde.DBTables.TDatabase.TransIsolation

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property TransIsolation: TTransIsolation read FTransIsolation write FTransIsolation default tiReadCommitted;

C++

__property TTransIsolation TransIsolation = {read=FTransIsolation, write=FTransIsolation, default=1};

プロパティ

種類 可視性 ソース ユニット
property published
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TDatabase

説明

ボーランド データベース エンジン(BDE)によって管理されるトランザクションのトランザクション排他レベルを指定します。

TransIsolation プロパティは,BDE によって管理されるデータベース トランザクションのトランザクション排他レベルを指定します。トランザクション排他レベルは,そのトランザクションが同時に同じテーブルにアクセスするほかのトランザクションと対話する方法や,ほかのトランザクションによる変更内容をそのトランザクションがどの程度認識するようにするかを決めます。

メモ:  パススルー SQL を使ってトランザクションを処理するアプリケーションの場合,適切な SQL 文を使ってトランザクション排他レベルを直接データベース サーバーに渡す必要があります。

TransIsolation には次の 3 つの値のいずれかを指定できます。


排他レベル 意味

tiDirtyRead

ほかのトランザクションによるデータベースへのコミットされていない変更内容を読み出せる。コミットされていない変更内容は持続的なものではなく,いつでもロールバック(取り消し)できる。このレベルでは,トランザクションはほかのトランザクションの影響を最も受けやすくなる。

tiReadCommitted

ほかのトランザクションによるデータベースへのコミットされた(持続的な)変更内容だけを読み出せる。TransIsolation プロパティのデフォルト値。

tiRepeatableRead

データベースを単独で一度だけ読み出せる。それ以降にほかのトランザクションによって加えられた変更は認識しない。この排他レベルでは,トランザクションがレコードを読み出したら,自分で変更しない限り,レコードは変更されない。このレベルでは,トランザクション間の分離度が最も高くなる。


サポートされるトランザクション分離レベルは,データベース サーバーによって異なります。アプリケーションが TransIsolation をリモート SQL サーバーによってサポートされていないレベルに設定した場合は,BDE はそのサーバーでサポートされている次に高い排他レベルを使用します。BDE が認識するサーバーによってサポートされている排他レベルは次のとおりです。


サーバー 指定したレベル 使用されるレベル

Oracle

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | tiRepeatableRead(読み出し専用)

Sybase,MS-SQL

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | サポートされない

DB2

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | tiReadCommitted | tiRepeatableRead

Informix

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | tiReadCommitted | tiRepeatableRead

InterBase

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | tiRepeatableRead

Paradox,dBASE,Access,FoxPro

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | サポートされない | サポートされない



メモ:  Paradox および dBASE に対するローカル トランザクションの場合,TransIsolation を tiDirtyRead に設定する必要があります。tiDirtyRead に設定しないと,例外が生成されます。

アプリケーションが ODBC を使ってサーバーとのインターフェースをとる場合は,ODBC ドライバは排他レベルもサポートしなければなりません。サポートされる排他レベルの詳細は,各 ODBC ドライバのマニュアルを参照してください。

関連項目