Enabling and Disabling Individual OLE DB Services
The OLE DB Service Component Manager compares the properties specified by the consumer to those supported by the provider. By doing so, it determines whether individual service components can be enabled to satisfy extended functionality requested by the consumer. For example, if an application requests a scrollable cursor and the provider supports only a forward-only cursor, the Service Component Manager provides scrolling functionality by enabling the Client Cursor Engine service component. If the consumer relies on extended functionality supported by default on the provider's rowset and the consumer does not explicitly set the properties to request that functionality, the functionality may not appear on the rowset returned by the Client Cursor Engine. To be interoperable, consumers should always set properties to explicitly request extended functionality where needed.
In some cases, providers might need to disable individual OLE DB services to work well with consumers that make assumptions about the characteristics of a provider. OLE DB services can be used to disable individual services or all services, either on a connection-by-connection basis or for all consumers that use a single provider.