FIX: Calling IDBInfo::GetKeywords() Causes AV with OLE DB Provider for ODBC (MSDASQL) (235515)



The information in this article applies to:

  • Microsoft Open Database Connectivity 3.5
  • Microsoft Open Database Connectivity 3.51
  • Microsoft Open Database Connectivity 3.6
  • Microsoft Open Database Connectivity 3.7
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1

This article was previously published under Q235515

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.

Modification Type:MajorLast Reviewed:6/12/2001
Keywords:kbbug kbDSupport kbMDAC250fix kbMDACNoSweep KB235515