My Oracle Support Banner

.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:


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.