Enumerator Object

OLE DB enumerators are used to locate MDPs and create OLE DB data source objects, which are then used to create session objects, and so on. In this respect, initializing an MDP is no different from initializing any other OLE DB provider.

However, the consumer must be able to easily determine the type of a given data source object. For example, a data source object "locator" may implement option buttons that allow the user to browse for TDPs, MDPs, or both TDPs and MDPs. It is useful for the provider to expose data source object types at enumeration time.

OLE DB for OLAP adds another source type to the sources rowset returned by the enumerator.

The value DBSOURCETYPE_DATASOURCE indicates that a data store can be accessed by a particular type of provider: TDP or MDP. The following new type has been added to the source type column of the sources rowset:

#define DBSOURCETYPE_DATASOURCE_MDP 3
#define DBSOURCETYPE_DATASOURCE_TDP DBSOURCETYPE_DATASOURCE

This value enables an application to find out whether a row in the sources rowset corresponds to an enumerator, a tabular data provider, or a multidimensional data provider. If a data store can be accessed by both a TDP and an MDP, the sources rowset will have two rows for this data source. One row has the source type set to DBSOURCETYPE_DATASOURCE_TDP, and the other row has the source type set to DBSOURCETYPE_DATASOURCE_MDP.