ExOLEDB Architecture

Topic Last Modified: 2006-06-12

Microsoft® Exchange Server 2007 provides a new, high-performance OLE DB provider that you can use on the local server to access Exchange store items: the Exchange OLE DB (ExOLEDB) provider. Through the ExOLEDB provider, programmers can access the Exchange store using OLE DB, Microsoft ActiveX® Data Objects (ADO), and Collaboration Data Objects (CDO).

The following illustration shows the relationship between ADO, CDO, OLE DB, the ExOLEDB provider, and the Exchange store.


The ExOLEDB provider is a server-side component, and is therefore used only to access public stores and mailbox stores that reside on the same server. You can, however, access data on the server remotely by wrapping functionality into Component Object Model (COM) components, which can be utilized by ASP and other Web applications. The ExOLEDB provider is also ideal for use in COM+ components and Exchange store event and workflow sinks that run on the server. To access remote public stores and mailbox stores, use the WebDAV protocol, MAPI, or CDO 1.2.1.

Exchange registers this provider for the file URL namespace with the OLE DB 2.5 root binder on the local server. The root binder eliminates the requirement to explicitly specify an ADO Connection object when accessing items through OLE DB. This means that you can bind an ADO Record object directly to an item only by using a file-type URL. To bind to items by using The HTTP: URL Scheme through the ExOLEDB provider, you must specify the ExOLEDB provider binder with an ADO Connection object (Connection.Provider = "ExOLEDB.DataSource"). In most cases, it is best that you specify this provider explicitly.

The following section summarizes how specific ADO objects can be used effectively in Exchange store applications: