OLE DB の概要の Microsoft カーソル サービスMicrosoft Cursor Service for OLE DB Overview

OLE DB 用の Microsoft カーソル サービスは、データ プロバイダーのカーソル サポート機能を補完します。The Microsoft Cursor Service for OLE DB supplements the cursor support functions of data providers. その結果、ユーザーは、すべてのデータ プロバイダーから比較的均一な機能を認識します。As a result, the user perceives relatively uniform functionality from all data providers.

カーソル サービスでは、動的プロパティを使用できるようにし、特定のメソッドの動作が向上します。The Cursor Service makes dynamic properties available and enhances the behavior of certain methods. たとえば、最適化動的プロパティなどの特定の操作を容易に一時インデックスの作成ができるように、検索メソッド。For example, the Optimize dynamic property enables the creation of temporary indexes to facilitate certain operations, such as the Find method.

カーソル サービスを使用すると、常にバッチを更新するためのサポート。The Cursor Service enables support for batch updating in all cases. データ プロバイダーが劣るカーソル、静的カーソルなどを指定できますのみときも、dynamic カーソルより高機能な種類のカーソルをシミュレートします。It also simulates more capable cursor types, such as dynamic cursors, when a data provider can only supply less capable cursors, such as static cursors.


このサービスのコンポーネントを呼び出す、レコード セットまたは接続オブジェクトのCursorLocationプロパティをadUseClientします。To invoke this service component, set the Recordset or Connection object's CursorLocation property to adUseClient.


動的プロパティDynamic Properties

次の動的プロパティを追加の OLE DB カーソル サービスが呼び出されたときに、 Recordsetオブジェクトのプロパティコレクション。When the Cursor Service for OLE DB is invoked, the following dynamic properties are added to the Recordset object's Properties collection. 完全な一覧接続Recordsetオブジェクトの動的プロパティの一覧は、 ADO Dynamic プロパティ インデックスします。The full list of Connection and Recordset object dynamic properties is listed in the ADO Dynamic Property Index. 関連付けられている OLE DB プロパティ名に、適切な場所はかっこ内に含ま ADO のプロパティ名の後にします。The associated OLE DB property names, where appropriate, are included in parentheses after the ADO property name.

カーソル サービスが呼び出された後は、いくつかの動的プロパティへの変更を基になるデータ ソースに表示されません。Changes to some dynamic properties are not visible to the underlying data source after the Cursor Service has been invoked. たとえば、設定、コマンド タイムアウトプロパティをレコード セットは基になるデータ プロバイダーには表示されません。For example, setting the Command Time out property on a Recordset will not be visible to the underlying data provider.

Recordset1.CursorLocation = adUseClient     'invokes cursor service
Recordset1.Open "authors", _
    "Provider=SQLOLEDB;Data Source=DBServer;User Id=MyUserID;" & _
    "Password=MyPassword;Initial Catalog=pubs;",,adCmdTable
Recordset1.Properties.Item("Command Time out") = 50
' 'Command Time out' property on DBServer is still default (30).

基になるプロバイダーの動的プロパティを設定する必要がありますが、アプリケーションには、カーソル サービスが必要ですが場合、は、カーソルのサービスを呼び出す前にプロパティを設定します。If your application requires the Cursor Service, but you need to set dynamic properties on the underlying provider, set the properties before invoking the Cursor Service. コマンド オブジェクトのプロパティの設定は常に、カーソルの場所に関係なく、基になるデータ プロバイダーに渡されます。Command object property settings are always passed to the underlying data provider regardless of cursor location. そのため、いつでもプロパティを設定するのにコマンド オブジェクトを使用することもできます。Therefore, you can also use a command object to set the properties at any time.


基になるデータ プロバイダーがサポートされている場合でも、DBPROP_SERVERDATAONINSERT 動的プロパティは、カーソル サービスによってサポートされていません。The dynamic property DBPROP_SERVERDATAONINSERT is not supported by the cursor service, even if it is supported by the underlying data provider.

プロパティ名Property Name 説明Description
自動再計算 (DBPROP_ADC_AUTORECALC)Auto Recalc (DBPROP_ADC_AUTORECALC) この値はどのくらいの頻度を示します Data Shaping Service で作成されたレコード セットの集計と計算列が計算されます。For recordsets created with the Data Shaping Service, this value indicates how often calculated and aggregate columns are calculated. 既定値 (値 = 1) Data Shaping Service は、値が変更されたことを決定するたびに再計算されます。The default (value=1) is to recalculate whenever the Data Shaping Service determines that the values have changed. 値が 0 の場合、階層の最初にビルド時に計算または集計列が計算のみです。If the value is 0, the calculated or aggregate columns are only calculated when the hierarchy is initially built.
バッチ サイズ (DBPROP_ADC_BATCHSIZE)Batch Size (DBPROP_ADC_BATCHSIZE) データ ストアに送信される前にバッチ処理できる update ステートメントの数を示します。Indicates the number of update statements that can be batched before being sent to the data store. バッチ内の複数のステートメント、データに少ないラウンド トリップを格納します。The more statements in a batch, the fewer round trips to the data store.
子の行をキャッシュする (DBPROP_ADC_CACHECHILDROWS)Cache Child Rows (DBPROP_ADC_CACHECHILDROWS) Data Shaping Service で作成されたレコード セットは、この値は、後で使用できるキャッシュに、子のレコード セットが格納されているかどうかを示します。For recordsets created with the Data Shaping Service, this value indicates whether child recordsets are stored in a cache for later use.
カーソル エンジンのバージョン (DBPROP_ADC_CEVER)Cursor Engine Version (DBPROP_ADC_CEVER) 使用されているカーソル サービスのバージョンを示します。Indicates the version of the Cursor Service being used.
状態の変更 (DBPROP_ADC_MAINTAINCHANGESTATUS) の管理します。Maintain Change Status (DBPROP_ADC_MAINTAINCHANGESTATUS) 複数のテーブルの結合で 1 つまたは複数の行の再同期に使用されるコマンドのテキストを示します。Indicates the text of the command used for resynchronizing a one or more rows in a multiple table join.
最適化Optimize インデックスを作成するかどうかを示します。Indicates whether an index should be created. 設定するとTrue、一時的な特定の操作の実行を向上させるためにインデックスの作成を承認します。When set to True, authorizes the temporary creation of indexes to improve the execution of certain operations.
名前を変更します。Reshape Name 名前を示します、 Recordsetします。Indicates the name of the Recordset. 現在内で参照されているまたはその後、データ シェイプのコマンドです。Can be referenced within the current, or subsequent, data shaping commands.
再同期コマンドResync Command によって使用されるカスタム コマンド文字列を示します、再同期メソッドと、一意テーブルプロパティが有効になります。Indicates a custom command string that is used by the Resync method when the Unique Table property is in effect.
一意のカタログUnique Catalog 参照されているテーブルを含むデータベースの名前を示します、一意テーブルプロパティ。Indicates the name of the database containing the table referenced in the Unique Table property.
一意のスキーマUnique Schema 参照されるテーブルの所有者の名前を示します、一意テーブルプロパティ。Indicates the name of the owner of the table referenced in the Unique Table property.
一意テーブルUnique Table 1 つのテーブルの名前を示します、レコード セット挿入、更新、または削除によって変更可能な複数のテーブルから作成します。Indicates the name of the one table in a Recordset created from multiple tables that can be modified by insertions, updates, or deletions.
更新基準 (DBPROP_ADC_UPDATECRITERIA)Update Criteria (DBPROP_ADC_UPDATECRITERIA) どのフィールドを示す、場所句は、更新中に発生する競合を処理するために使用します。Indicates which fields in the WHERE clause are used to handle collisions occurring during an update.
再同期の更新(DBPROP_ADC_UPDATERESYNC)Update Resync (DBPROP_ADC_UPDATERESYNC) 示すかどうか、再同期メソッドが後に暗黙的に呼び出され、 UpdateBatchメソッド (とその動作)、一意テーブルプロパティが有効になります。Indicates whether the Resync method is implicitly invoked after the UpdateBatch method (and its behavior), when the Unique Table property is in effect.

設定またはのインデックスとしてその名前を指定することで動的プロパティを取得することも、プロパティコレクション。You can also set or retrieve a dynamic property by specifying its name as the index to the Properties collection. たとえば、取得しての現在の値を出力、最適化動的プロパティは、新しい値を次のように設定し。For example, get and print the current value of the Optimize dynamic property, then set a new value, as follows:

Debug.Print rs.Properties("Optimize")
rs.Properties("Optimize") = True

組み込みのプロパティの動作Built-in Property Behavior

OLE DB のカーソル サービスは、特定の組み込みプロパティの動作にも影響します。The Cursor Service for OLE DB also affects the behavior of certain built-in properties.

プロパティ名Property Name 説明Description
CursorTypeCursorType 使用可能なカーソルの種類を補足するもの、 Recordsetします。Supplements the types of cursors that are available for a Recordset.
LockTypeLockType 使用できるロックの種類を補足するもの、レコード セットします。Supplements the types of locks available for a Recordset. 一括更新を可能にします。Enables batch updates.
SortSort 1 つまたは複数のフィールド名を指定します、レコード セット並べ替えられた各フィールドが昇順または降順で並べ替えられるかどうか、およびします。Specifies one or more field names that the Recordset is sorted on, and whether each field is sorted in ascending or descending order.

メソッドの動作Method Behavior

OLE DB のカーソル サービスを有効またはの動作に影響、フィールドオブジェクトのAppendメソッドとレコード セットオブジェクトのを開く再同期UpdateBatch、および保存メソッド。The Cursor Service for OLE DB enables or affects the behavior of the Field object's Append method; and the Recordset object's Open, Resync, UpdateBatch, and Save methods.