MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 15: Transactions
In this chapter, 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" in this chapter |
| Transaction retention | "Transaction Retention" in this chapter |
| Rowset preservation | "Rowset Preservation" in this chapter |
| Nested transactions | "Nested Transactions" in this chapter |
| Discovering the outcome of transaction events | "Event Notifications" in this chapter |
| Methods to perform distributed transactions | "Distributed Transactions" in this chapter |
| Transaction isolation levels | "Isolation Levels" in this chapter |
| Locking resources to regulate sharing and isolation | "Transaction Locks" in this chapter |
The transaction object and transaction options object cotypes are defined as follows. For more information about cotypes, see "OLE DB Objects" in Chapter 1, "Overview of OLE DB."
CoType TTransaction {
[mandatory] interface IConnectionPointContainer;
[mandatory] interface ITransaction;
[optional] interface ISupportErrorInfo;
};
CoType TTransactionOptions {
[mandatory] interface ITransactionOptions;
[optional] interface ISupportErrorInfo;
};