.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 and later
Oracle Data Provider for .NET - Version and later
Generic Windows


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