Manual Transactions

Microsoft ActiveX Data Objects (ADO), OLE DB, Open Database Connectivity (ODBC), and Message Queuing resource APIs enable manual transaction processing.

A manual transaction allows you to explicitly begin a transaction, control each connection and resource enlistment within the transaction boundary, determine the outcome of the transaction (commit or abort), and end the transaction. Although this model offers measured control over a transaction, it lacks some of the ease built into the automatic transaction model. For example, there is no automatic enlistment and coordination between data stores in a manual transaction. Further, transactions do not flow from object to object, as is the case in automatic transactions.

If you choose to control a distributed transaction manually, you must manage recovery, concurrency, security, and integrity. In other words, you must apply all the programming techniques necessary to maintain the ACID Properties associated with transaction processing.

See Also

Transaction Models | Manual Transactions and ADO.NET | Manual Transactions and Message Queuing | Automatic Transactions