Consumers

OLE DB consumers can choose their level of interoperability with OLE DB providers.  Consumers can write to either a specific provider, in which case they know the functionality of the provider at design time, or to consume generic providers. To consume generic providers, the consumer may do one of the following:

  1. Consume a minimum set of functionality and work with all OLE DB providers.

  2. Consume a higher level of functionality and query for support of extended functionality.

  3. Consume a higher level of functionality and invoke service components to implement missing functionality, where available.

Minimum Consumer Functionality

The following table describes the minimum level of functionality that a consumer can be expected to support when talking to any OLE DB provider. This functionality is either implemented directly by the provider, or on behalf of the provider by common service components.

Object Interface Behavior
DataSource IConnectionPointContainer for: IDBAsynchNotify
IDataSource 1
IDBAsynchStatus
IDBCreateSession
IDBInitialize
IDBProperties
IPersist
ISupportErrorInfo
DataSource Behavior DBPROP_INIT_PROMPT
Session IGetDataSource
IOpenRowset
ISessionProperties
ITransactionLocal 3
Rowset IAccessor
IColumnsInfo
IConnectionPointContainer for: IDBAsynchNotify, IRowsetNotify
IConvertType
IDBAsynchNotify
IDBAsynchStatus
IRowset
IRowsetChange 2
IRowsetFind
IRowsetIdentity
IRowsetInfo
IRowsetLocate
IRowPosition1
IRowsetScroll
ISupportErrorInfo
Rowset Behavior DBPROP_CANHOLDROWS
DBPROP_CANFETCHBACKWARDS
DBPROP_CANSCROLLBACKWARDS
DBPROP_COMMITPRESERVE 3
DBPROP_REMOVEDELETED 2
DBPROP_OWNUPDATEDELETE 2
DBPROP_OWNINSERT 2

(1) These interfaces are always supported by common components in the SDK. They are never implemented directly by providers.

(2) Minimal level of support for providers wanting to expose update capability. Providers not supporting this functionality are treated as read-only by generic consumers.

(3) Minimal level of support for providers wanting to support transactions to general consumers.