BUG: SQLState S1000 with SQL_AUTOCOMMIT_OFF/SQLTransact (169469)
The information in this article applies to:
- Microsoft Open Database Connectivity 2.5
- Microsoft Open Database Connectivity 3.0
- Microsoft Access 97
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.
| Modification Type: | Major | Last Reviewed: | 5/20/2003 |
|---|
| Keywords: | kbbug kbprogramming KB169469 |
|---|
|