PRB: Catastrophic Error Occurs Referencing ADO Recordset 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.
This article was previously published under Q187942 On This PageSYMPTOMS
Any operation following a rollback or a commit transaction on a recordset opened as a serverside cursor, triggers one the following errors, depending on the provider and operating system:
Run-time error '-2147418113' Catastrophic failure
-or-
Run-time error '-2147418113' Unexpected failure
Using ADO 2.6 and later, the error is Run-time error '-2147418113(8000ffff)': ITransaction::Commit or ITransaction::Abort was called, and the object is in a zombie state.
CAUSE
Preserving cursors, or in other words, not closing them, is not the SQL
Server or ANSI SQL default. The OLE DB specification does not specify a
default value for these properties because, this behavior can change from
provider to provider.
The Cursor Engine, however, does preserve cursors. RESOLUTION
Use adUseClient or set the following RecordSet properties to preserve the cursor:
rs.Properties("Preserve On Commit") = True
rs.Properties("Preserve On Abort") = True
STATUS
This behavior is by design.
MORE INFORMATIONSteps to Reproduce Behavior
APPLIES TO
| Article Translations
|


Back to the top
