Share via


Supported Interfaces of the OLE DB Remoting Provider

Important

This feature will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Applications should instead use WCF Data Service.

The OLE DB Remoting Provider supports data source, session, and command interfaces as listed in the following table. In addition, rowset interfaces are indirectly supported by the Cursor Service. Error object interfaces simply return a custom error.

For more information about the interfaces supported by the Cursor Service for OLE DB, see Appendix B: Supported Interfaces of the Cursor Service.

OLE DB interface

Short description

IAccessor

IAccessor provides methods for accessor management. The Remoting Provider uses the Cursor Service accessors.

IColumnsInfo

IColumnsInfo exposes information about columns of a rowset or about a prepared command. It provides a limited set of information in an array.

ICommand

ICommand contains methods to execute commands. A command can be executed many times, and the parameter values can vary. This interface is mandatory on commands.

ICommandProperties

ICommandProperties specifies to the command the properties from the Rowset property group that must be supported by the rowsets returned by ICommand::Execute. A special case of these properties, and the ones most commonly requested, are the interfaces the rowset must support. In addition to interfaces, the consumer can request properties that modify the behavior of the rowset or interfaces.

ICommandText

ICommandText is mandatory on commands.

A command object can have only one text command. When the command text is specified through SetCommandText, it replaces the existing command text.

ICommandWithParameters

This optional interface encapsulates parameters. Providers that support parameters must support ICommandWithParameters. Any provider that returns DBPROPVAL_SQL_ANSI92_INTERMEDIATE or DBPROPVAL_SQL_ANSI92_FULL for the DBPROP_SQLSUPPORT property can support parameters.

IConvertType

IConvertType is mandatory on commands, rowsets, and index rowsets.

This interface contains a single method that gives information about the availability of type conversions on a command or on a rowset.

Uses CLSID_OLEDB_CONVERSIONLIBRARY.

IDBCreateCommand

Consumers call IDBCreateCommand::CreateCommand on a session to obtain a new command.

IDBCreateSession

Consumers call IDBCreateSession::CreateSession on a data source object to obtain a new session.

IDBInitialize

IDBInitialize is used to initialize and uninitialize data source objects and enumerators. It is a mandatory interface on data source objects and an optional interface on enumerators.

IDBProperties

IDBProperties is used to set and get the values of properties on the data source object or enumerator and to get information about all properties supported by the provider. All read/write DBPROPSET_DBINIT properties that are not VT_EMPTY are sent to the server.

IErrorInfo

IErrorInfo is defined by Automation. When used in OLE DB, IErrorInfo returns information about an error in addition to the return code. It returns the error message, name of the component, GUID of the interface in which the error occurred, and the name and topic of the Help file that applies to the error.

IErrorLookup

IErrorLookup is used by OLE DB error objects to determine the values of the error message, source, Help file path, and context ID based on the return code and a provider-specific error number.

This interface is exposed by a provider-specific error-lookup service that is mandatory for all providers that return OLE DB error objects.

IErrorRecords

IErrorRecords is defined by OLE DB. It is used to add and retrieve records in an OLE DB error object. Information is passed to and from OLE DB error objects in an ERRORINFO structure. For the Remoting Provider, it returns only one record.

IGetDataSource

IGetDataSource is a mandatory interface on the session for obtaining an interface pointer to the data source object.

IOpenRowset

IOpenRowset is a required interface on the session. It can be supported by providers that do not support creating rowsets through commands.

The IOpenRowset model enables consumers to open and work directly with individual tables or indexes in a data store by using IOpenRowset::OpenRowset, which generates a rowset of all rows in the table or index. If DFMODE is less than 21, it executes select * from <tableName>.

IPersist* Objects

See BLOBs and COM Objects (OLE DB)

ISessionProperties

ISessionProperties returns information about the properties a session supports and the current settings of those properties. It is a mandatory interface on sessions.

ISupportErrorInfo

ISupportErrorInfo is defined by Automation. When used in OLE DB, ISupportErrorInfo indicates whether a specific interface can return Automation error objects. Because OLE DB error objects are returned through the same mechanism as Automation error objects, support for them is also indicated through this interface.

See Also

Tasks

IPersist* Objects

Reference

Automation Error Objects

Commands (OLE DB)

Data Type Conversion

OLE DB Error Objects

Using Accessors