.NET System.Transaction commited despite not having called TransactionScope::Complete()
Last updated on JULY 05, 2017
Applies to:Oracle Provider for OLE DB - Version 22.214.171.124.20 and later
Oracle Data Provider for .NET - Version 126.96.36.199.20 and later
Using System.Transactions with the Oracle Data Provider for .NET (ODP.NET), a transaction may be committed despite TransactionScope::Complete not having been called.
Typically, Complete() is required to commit a transaction, and if it is not called then the transaction will be rolled back when the TransactionScope object is Disposed.
The behavior can be reproduced with the following ODP.NET code:
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms