分散クエリから呼び出される OLE DB オブジェクト

次の表は、Transact-SQL 分散クエリから呼び出される OLE DB オブジェクトとインターフェイスを示しています。OLE DB プロバイダを Transact-SQL 分散クエリで使用するには、そのプロバイダがオブジェクトとインターフェイスの最小限のセットをサポートしている必要があります。それらのオブジェクトとインターフェイスについては、次の表の "必須/オプション" 列に "必須" と記しています。"必須/オプション" 列が "オプション" のオブジェクトとインターフェイスは、拡張分散クエリ機能をサポートするためにのみ必要なものです。インターフェイスがプロバイダによってサポートされていない場合、関連する Transact-SQL 機能はサポートされません。たとえば、IRowsetLocate インターフェイスと IRowsetChange インターフェイスがサポートされていない場合、リモート テーブルに対する UPDATE ステートメントまたは DELETE ステートメントは機能しません。

オブジェクト

インターフェイス

必須/オプション

説明

Data Source

IDBInitialize

必須

データおよびセキュリティ コンテキストの初期化とセットアップを行います。

 

IDBCreateSession

必須

DB Session オブジェクトを作成します。

 

IDBProperties

必須

プロバイダの機能に関する情報を取得し、初期化プロパティを設定します。

 

IDBInfo

オプション

プロバイダでサポートされる SQL 構文に関する情報を取得します。

DB Session

IDBSchemaRowset

オプション

テーブルおよび列のメタデータを取得します。必要となる行セットは TABLES と COLUMNS です。その他、TABLES_INFO、CATALOGS、INDEXES、STATISTICS、TABLE_STATISTICS、VIEWS、PRIMARY_KEYS、TABLE_PRIVILEGES、および COLUMN_PRIVILEGES もあれば使用されます。

 

IOpenRowset

必須

テーブル、インデックス、またはヒストグラムについての行セットを開きます。

 

IGetDataSource

必須

DB Session オブジェクトからデータ ソース オブジェクトへ戻ります。

 

IDBCreateCommand

オプション

Command オブジェクト (クエリ) を作成します。

 

ITransactionLocal

オプション

プロバイダでトランザクションを開始します。

 

ITransactionJoin

オプション

分散トランザクション サポートに使用されます。このインターフェイスがサポートされていない場合、ユーザー トランザクションの中でリモート プロバイダを更新できません。

Rowset (テーブル)

IRowset

必須

行をスキャンします。

 

IAccessor

必須

行セット内の列にバインドします。

 

IColumnsInfo

必須

行セット内の列に関する情報を取得します。

 

IRowsetInfo

必須

行セット プロパティに関する情報を取得します。

 

IRowsetLocate

オプション

UPDATE 操作または DELETE 操作とインデックス ベースの参照に必要です。

 

IRowsetChange

オプション

テーブルに対する INSERT、UPDATE、または DELETE の各操作に必要です。ベース テーブルに対する行セットは、INSERT、UPDATE、または DELETE の各ステートメントをサポートするために、このインターフェイスをサポートしている必要があります。

 

IConvertType

必須

ある行セットが、その行セットの列に対する特定のデータ型変換をサポートしているかどうかを確認します。

Rowset (インデックス)

IRowset

必須

行をスキャンします。

 

IAccessor

必須

行セット内の列にバインドします。

 

IColumnsInfo

必須

行セット内の列に関する情報を取得します。

 

IRowsetInfo

必須

行セット プロパティに関する情報を取得します。

 

IRowsetIndex

必須

インデックスについての行セットに必要で、インデックス機能 (範囲の設定、シーク) に使用されます。

 

IConvertType

必須

行セットが、その行セット内の列の特定のデータ型変換をサポートしているかどうかを確認します。

Command (オプション)

ICommand

必須

クエリの実行に使用されます。

 

ICommandText

必須

クエリ テキストの定義に使用されます。

 

ICommandProperties

必須

コマンドが返す行セットに対して必要なプロパティを指定します。

 

ICommandWithParameters

オプション

パラメータ付きのクエリの実行に使用されます。

 

ICommandPrepare

オプション

メタデータを取得するコマンドを準備するために使用されます。

エラー (オプション)

IErrorRecords

必須

エラー レコード用の IErrorInfo インターフェイスへのポインタを取得します。

 

IErrorInfo

必須

エラー レコードについての説明テキストを取得します。

任意のオブジェクト (オプション)

ISupportErrorInfo

オプション

指定したインターフェイスがエラー オブジェクトをサポートしているかどうかを判定します。