MDAC 2.5 SDK - OLE DB Providers
OLE DB Remoting Provider
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 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 Chapter 7 of the OLE DB Programmer's Reference, "BLOBs and COM Objects." |
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. |