Microsoft KB Archive/169469

= BUG: SQLState S1000 with SQL_AUTOCOMMIT_OFF/SQLTransact =

Article ID: 169469

Article Last Modified on 2/12/2007

-

APPLIES TO


 * Microsoft Open Database Connectivity 2.5
 * Microsoft Open Database Connectivity 3.0
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q169469



BUG #: 4841 (Brazos)



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.

Additional query words: SQLEndTran SQLSetConnectAttr

Keywords: kbbug kbprogramming KB169469

-

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

© Microsoft Corporation. All rights reserved.