Platform SDK: Exchange 2000 Server

ICreateRow and Multiple Databases

[This is preliminary documentation and subject to change.]

Each public top-level header and private mailbox is a separate database. When a Session object is created, it is always bound to only one database. Thus, it is impossible to use a single ICreateRow interface to create objects from different stores, such as an Exchange private and a public store: the ICreateRow interface is bound to a Session object which is bound to a single MDB database and logon. For each unique MDB that you connect to, you must create a Session object. This action also applies to the ICreateRow::CreateRow method and is the principal reason for the OLE DB Version 2.5 root binder. If the client is unsure of a URL's namespace or database origins, then the client can use a new instance of the root binder. This creates a new session and avoids any cross-database failures.