Transactions (OLE DB)

In this section, simple transactions, nested transactions, distributed transactions, and transaction isolation are discussed.

A transaction enables a consumer to specify that a sequence of operations within a session must be performed as a single unit. Whether providers support transactions is provider-specific. If the provider supports transactions, a session object that supports ITransactionLocal can enter a simple (that is, non-nested) transaction.

A nested transaction occurs when a transaction is begun within the scope of another transaction. This inner transaction is represented by a transaction object. Providers that support nested transactions can choose to commit or abort a transaction at the outermost level or to commit or abort one of the inner transactions. ITransactionOutcomeEvents is implemented by the consumer to discover the outcome of transaction events.

For more information on

Go to

Simple transactions

Simple Transactions

Transaction retention

Transaction Retention

Rowset preservation

Rowset Preservation

Nested transactions

Nested Transactions

Discovering the outcome of transaction events

Event Notifications

Methods to perform distributed transactions

Distributed Transactions

Transaction isolation levels

Isolation Levels in OLE DB

Locking resources to regulate sharing and isolation

Transaction Locks

The transaction object and transaction options object cotypes are defined as follows. For more information about cotypes, see Conceptual Programming Models in OLE DB.

CoType TTransaction {
   [mandatory]   interface IConnectionPointContainer;
   [mandatory]   interface ITransaction;
   [optional]    interface ISupportErrorInfo;

CoType TTransactionOptions {
   [mandatory]   interface ITransactionOptions;
   [optional]    interface ISupportErrorInfo;


This topic is a part of: