.NET System.Transaction commited despite not having called TransactionScope::Complete() (Doc ID 1469469.1)

Last updated on JULY 05, 2017

Applies to:

Oracle Provider for OLE DB - Version 11.1.0.6.20 and later
Oracle Data Provider for .NET - Version 11.1.0.6.20 and later
Generic Windows

Symptoms

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.

Changes

 The behavior can be reproduced with the following ODP.NET code:

Cause

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