Article ID: 169469 - Last Review: February 12, 2007 - Revision: 2.1

BUG: SQLState S1000 with SQL_AUTOCOMMIT_OFF/SQLTransact

This article was previously published under Q169469
BUG #: 4841 (Brazos)
Expand all | Collapse all

SYMPTOMS

If an application does the following in the Microsoft Access 7.0 or 97 version of the ODBC drivers more than seven times
SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);
SQLTransact(henv, hdbc, SQL_COMMIT);
The error generated is:
*szSqlState = "S1000", *pfNativeError = -1103,
*szErrorMsg = "[Microsoft][ODBC Microsoft Access 97 Driver] "
If the application calls SQLExecDirect with any SQL statement, the error generated is:
szSqlState = "S1000", *pfNativeError = -1103, *pcbErrorMsg = 110
szErrorMsg="[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't start transaction; too many transactions already nested."

WORKAROUND

To work around this problem, do not set the SQL_AUTOCOMMIT option repeatedly within a connection. The SQL_AUTOCOMMIT option is a per-connection option. Once this option is set, it stays valid until the connection is dropped; an ODBC application does not have to set the option repeatedly within a connection.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft Access ODBC driver version 3.50.3602. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

APPLIES TO
  • Microsoft Open Database Connectivity 2.5
  • Microsoft Open Database Connectivity 3.0
  • Microsoft Access 97 Standard Edition
Keywords: 
kbbug kbprogramming KB169469
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations