共用方式為


分散式查詢消耗的 OLE DB 物件

下表顯示了 Transact-SQL 分散式查詢所耗用的 OLE DB 物件與介面。OLE DB 提供者至少必須支援物件與介面的最小集合,才能用於任何 Transact-SQL 分散式查詢內。這些物件與介面在下表的必要資料行中將標為必要資料行中標為的物件與介面,只在支援進階的分散式查詢功能時才需要用到。若提供者不支援某個介面,相關的 Transact-SQL 功能也不會受到支援。例如,若不支援 IRowsetLocateIRowsetChange 介面,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

用於準備命令,以取得中繼資料。

Error (選擇性)

IErrorRecords

取得指到錯誤記錄之 IErrorInfo 介面的指標。

 

IErrorInfo

取得錯誤記錄的文字描述。

Any object (選擇性)

ISupportErrorInfo

決定指定的介面是否支援錯誤物件。