Bde.DBTables.TDatabase.Exclusive
Delphi
property Exclusive: Boolean read FExclusive write SetExclusive default False;
C++
__property bool Exclusive = {read=FExclusive, write=SetExclusive, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TDatabase |
説明
アプリケーションによるデータベースへの単独アクセスを可能にします。
Exclusive プロパティを使用すると,このアプリケーションが Paradox または dBASE データベースを使用している間について,ほかのアプリケーションによるそうしたデータベースへのアクセスを禁じることができます。目的のデータベースを開く前に,Exclusive プロパティを true に設定してください。Exclusive プロパティのデフォルト値は false なので,ほかのアプリケーションも開いたデータベースを使用することができます。
Exclusive プロパティが true の場合,目的のアプリケーションがデータベースを開くことに成功すると,ほかのアプリケーションはそのデータベースへアクセスできなくなります。目的のアプリケーションによって排他的なアクセスが要求されたデータベースについて,ほかのアプリケーションがすでに使用中である場合,例外が発生します。そうした例外を処理するには,例外ハンドラを記述します。データベースのすべてのテーブルが実際に排他的に開かれると,ほかのアプリケーションはデータベースを開いたり,テーブルにアクセスしたりできません。
テーブルデータベースは,Exclusive プロパティの設定を変更する前に閉じなければなりません。設計時には,Connected プロパティを true に設定するつもりの場合,Exclusive プロパティを true に設定しないでください。これにしたがわない場合,データベースが IDE によって使用済みであるために,例外が発生します。
メモ: アプリケーションは SQL データベースのために Exclusive プロパティを true に設定しようとすることができますが,SQL サーバーの中にはデータベースの排他的ロックをサポートしないものがあります。排他的読み出し権/書き込みロック権を許可するが,ほかのアプリケーションにも読み出し専用権を与える SQL サーバーもあります。特定サーバーによるデータベースの排他的ロックの詳細は,サーバーのマニュアルを参照してください。