Microsoft KB Archive/249259

= BUG: ATL OLE DB Provider not Working with OLE DB Services =

Article ID: 249259

Article Last Modified on 10/16/2002

-

APPLIES TO


 * Microsoft Visual C++ 6.0 Enterprise Edition

-



This article was previously published under Q249259



SYMPTOMS
An ATL-wizard generated OLE DB provider does not work with OLE DB Services such as resource pooling, transaction enlistment, or cursor services.



CAUSE
The ATL OLE DB Provider wizard incorrectly creates the OLEDB_SERVICES registry entry as a subkey instead of a DWORD value under the CLSID of the Provider.

This registry setting is checked by the OLE DB services to determine if a provider supports use with its services.



RESOLUTION
The provider's OLEDB_SERVICES registry key needs to be set to 0xffffffff (Hex) or 4294967295 (Decimal) to let the services know that the provider can be used with any of the OLE DB services. For other possible values for the registry setting, see the Microsoft Developer Network (MSDN) documentation. Specifically, search on "Resource pooling".

To fix the registry script file (.rgs) so that it properly registers the OLE DB provider for use with the OLE DB services, replace this line of code:

OLEDB_SERVICES = d '4294967295' with this: val OLEDB_SERVICES = d '4294967295' Then compile and register the provider.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.



Steps to Reproduce Behavior
 Create an ATL COM AppWizard project. Insert an ATL OLEDB Provider object. View the registry script file (.rgs).  The OLEDB_SERVICES key is created as a subkey under the provider's CLSID. OLEDB_SERVICES = d '4294967295' 

Keywords: kbbug kbprovider kbdtl KB249259

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.