Realizar transacciones

Las transacciones son un grupo de operaciones combinadas en una unidad lógica de trabajo. Se usan para controlar y conservar la coherencia e integridad de todas las acciones de una transacción de forma que no se vean afectadas por los errores que pueden producirse en el sistema.

Por ejemplo, en el caso de una aplicación bancaria en la que se transfieren fondos de una cuenta a otra, en una cuenta se suma el importe de la transacción al crédito en una tabla de una base de datos al mismo tiempo que se sustrae de la otra el mismo importe en otra tabla de base de datos. Como los equipos pueden sufrir errores como consecuencia de cortes de suministro eléctrico, errores en la red, etcétera, es posible actualizar una fila en una tabla y no hacerlo en la otra. Si la base de datos admite el uso de transacciones, puede agrupar las operaciones en la base de datos formando una transacción para evitar que se produzca una incoherencia en la base de datos generada por los eventos antes citados. Si se produce un error en un momento de la transacción, se pueden deshacer todas las actualizaciones hasta alcanzar el estado previo al comienzo de la transacción. Si no se produce ningún error, las actualizaciones pueden finalizarse confirmando que la transacción está completa.

En ADO.NET, las transacciones se controlan mediante los objetos Connection y Transaction. Puede iniciar una transacción local utilizando Connection.BeginTransaction. Una vez que ésta se haya iniciado, puede inscribir un comando en la 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.

También puede inscribirse en una transacción distribuida que ya exista mediante Connection.EnlistDistributedTransaction. Al inscribirse en una transacción distribuida ya existente 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.

En esta sección

Secciones relacionadas