The information in this article applies to:
BUG# ODBCDBASE: 2147 (1.01.1928) SYMPTOMS
Calling SQLExecute, SQLFetch, and SQLFreeStmt/SQL_CLOSE in a loop on a
prepared statement can cause SQLExecute to return SQL_ERROR after several
iterations. The exact number of iterations before this error occurs depends
on the number of columns in the table. Users of MFC Database classes note
that CRecordSet::Requery followed by CRecordSet::MoveNext in a loop can
cause the same behavior.
At the 925th iteration of the above loop, SQLExecute will fail with
SQL_ERROR.
Calling SQLError will return SQL_NO_DATA_FOUND. The number of iterations before failure is dependent on the number of columns in the table. Here is some data that will provide a rough idea of this dependency:
MFC Database class users will see the same behavior with the following
loop, after the same number of iterations as above:
WORKAROUNDMaking either of the following two changes will work around the problem:
STATUSMicrosoft has confirmed this to be a problem in ODBC dBASE Driver version 1.01.1928. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. Additional query words: 1.01.1928 Desktop Database Drivers Simba MSVC Visual C++
Keywords : |
Last Reviewed: August 25, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |