分布式查询使用的 OLE DB 对象

下表显示了 Transact-SQL 分布式查询使用的 OLE DB 对象和接口。OLE DB 访问接口必须至少支持一些必需的对象和接口,才可用于任何 Transact-SQL 分布式查询。这些对象和接口在表的“必需”列中都标记为“是”****。只有在支持高级分布式查询功能时,才需要使用“必需”列中标记为“否”****的对象和接口。如果该访问接口不支持接口,则也不会支持相关的 Transact-SQL 功能。例如,如果不支持 IRowsetLocateIRowsetChange 接口,则不能在远程中表使用 UPDATE 和 DELETE 语句。

对象 接口 必需 说明

Data Source

IDBInitialize

初始化并设置数据和安全上下文。

 

IDBCreateSession

创建 DB 会话对象。

 

IDBProperties

获取有关访问接口功能的信息并设置初始化属性。

 

IDBInfo

获取有关访问接口支持的 SQL 语法的信息。

DB 会话

IDBSchemaRowset

获取表和列元数据。所需的行集是 TABLES 和 COLUMNS。使用的其他行集(如果有)是 TABLES_INFO、CATALOGS、INDEXES、STATISTICS、TABLE_STATISTICS、VIEWS、PRIMARY_KEYS、TABLE_PRIVILEGES 和 COLUMN_PRIVILEGES。

 

IopenRowset

打开表、索引或直方图上的行集。

 

IgetDataSource

从 DB 会话对象返回到数据源对象。

 

IDBCreateCommand

创建命令对象(查询)。

 

ITransactionLocal

在访问接口上启动事务。

 

ItransactionJoin

用于分布式事务支持。如果不支持此接口,则不允许在用户事务中更新远程访问接口。

行集(在表上)

IRowset

扫描行。

 

IAccessor

绑定到行集中的列。

 

IColumnsInfo

获取有关行集中的列的信息。

 

IRowsetInfo

获取有关行集属性的信息。

 

IrowsetLocate

为 UPDATE 或 DELETE 操作和基于索引的查找所必需。

 

IrowsetChange

为在表中执行的 INSERT、UPDATE 或 DELETE 操作所必需。基表的行集应该支持此接口,以支持 INSERT、UPDATE 或 DELETE 语句。

 

IConvertType

验证行集是否支持对其列进行特定数据类型转换。

行集(在索引上)

IRowset

扫描行。

 

IAccessor

绑定到行集中的列。

 

IColumnsInfo

获取有关行集中的列的信息。

 

IRowsetInfo

获取有关行集属性的信息。

 

IrowsetIndex

为索引上的行集所必需;用于索引功能(设置范围、查找)。

 

IConvertType

验证行集是否支持对其列进行特定数据类型转换。

命令(可选)

ICommand

用于执行查询。

 

ICommandText

用于定义查询文本。

 

ICommandProperties

指定命令返回的行集的必需属性。

 

ICommandWithParameters

用于参数化查询执行。

 

ICommandPrepare

用于准备命令以获取元数据。

错误(可选)

IErrorRecords

获取指向错误记录的 IErrorInfo 接口的指针。

 

IErrorInfo

获取错误记录的文本说明。

任何对象(可选)

IsupportErrorInfo

确定指定接口是否支持错误对象。

请参阅

概念

用于分布式查询的 OLE DB 访问接口参考

帮助和信息

获取 SQL Server 2005 帮助