KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q235515: FIX: Calling IDBInfo::GetKeywords() Causes AV w/ OLE DB Provider

Article: Q235515
Product(s): Open Database Connectivity (ODBC)
Version(s): 2.0,2.1,3.5,3.51,3.6,3.7
Operating System(s): 
Keyword(s): kbMDAC kbODBC kbOLEDB kbGrpDSVCDB kbGrpDSMDAC kbDSupport kbMDAC250fix kbMDACNoSweep
Last Modified: 12-JUN-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Open Database Connectivity, versions 3.5, 3.51, 3.6, 3.7 
- Microsoft Data Access Components versions 2.0, 2.1 
-------------------------------------------------------------------------------

SYMPTOMS
========

ODBC drivers that return keywords outside the range of Absolute to Zone cause an
access violation in the Microsoft OLEDB Provider for ODBC (MSDASQL) that ships
with Microsoft Data Access Components (MDAC) 2.0 and 2.1 when the
IDBInfo::GetKeywords() method is called.

CAUSE
=====

This occurs because of a code problem in the binary search algorithm used by
MSDASQL.

RESOLUTION
==========

To work around this behavior, modify the driver so that it does not return
keywords outside the range Absolute - Zone.

For example, if the driver returns the keyword Abort, the Microsoft OLEDB
Provider for ODBC (MSDASQL) gets an access violation.

STATUS
======

This has been fixed as of MDAC 2.5.

MORE INFORMATION
================

You can find the default list of Reserved Keywords in the ODBC Programmer's
Reference, Volume 2. The default keywords range from ABSOLUTE to ZONE.

Additional query words:

======================================================================
Keywords          : kbMDAC kbODBC kbOLEDB kbGrpDSVCDB kbGrpDSMDAC kbDSupport kbMDAC250fix kbMDACNoSweep 
Technology        : kbAudDeveloper kbODBCSearch kbMDACSearch kbMDAC200 kbMDAC210 kbODBC360 kbODBC350 kbODBC351 kbODBC370
Version           : :2.0,2.1,3.5,3.51,3.6,3.7
Hardware          : ALPHA x86
Issue type        : kbbug
Solution Type     : kbfix

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.