Compartir a través de


Transacciones manuales y ADO.NET

Los proveedores .NET de clientes de SQL y de OLE DB admiten las transacciones manuales en Common Language Runtime. En ADO.NET se puede utilizar cualquiera de estos proveedores .NET para controlar transacciones.

Ambos proveedores incluyen un conjunto de objetos administrados que crean una conexión de base de datos, comienzan una transacción y la confirman o la deshacen. La diferencia principal entre los dos estriba en los mecanismos de conexión. El proveedor .NET de clientes de SQL proporciona un conjunto de objetos que llaman directamente a SQL Server. En cambio, el proveedor .NET de OLE DB utiliza OLE DB nativo para habilitar el acceso a datos.

Para comenzar una transacción local, use el objeto de conexión de ADO.NET Connection.BeginTransaction. Inscriba un comando en esa transacción mediante la propiedad Transaction del objeto Command. A continuación, puede utilizar el objeto Transaction para confirmar o deshacer las modificaciones realizadas en el origen de datos, en función del éxito o de los errores de los componentes de la transacción.

La inscripción es automática de forma predeterminada y puede deshabilitarse. Si está deshabilitada, se puede realizar la inscripción manualmente. Al inscribirse en una transacción distribuida ya existente mediante Connection.EnlistDistributedTransaction queda garantizado que, si la transacción distribuida al completo se confirma o se deshace, las modificaciones realizadas mediante código en el origen de datos también se confirman o se deshacen.

Para examinar un ejemplo de transacción con utilización de ADO.NET, vea Realizar transacciones.

Vea también

Transacciones manuales | Transacciones automáticas y clases de .NET Framework