You are on page 1of 14

MG.

LUIS BOY CHAVIL

Procesamiento

de Transacciones Propiedades ACID Modelos de Transacciones Creacin de Transacciones en ADO.NET

Una

Transaccin es un conjunto de tareas relacionadas que se realizan de forma satisfactoria o incorrecta como una unidad. En trminos de procesamiento, las transacciones se confirman o se anulan. Para que una transaccin se confirme, todos los participantes deben garantizar la permanencia de los cambios efectuados en los datos. Los cambios deben conservarse aunque el sistema se bloquee o tengan lugar otros eventos imprevistos.

Propiedades

ACID

ACID Expresa la funcin que las transacciones desarrollan en aplicaciones crticas para una misin.

Atomicity (Atomicidad) Consistency (Consistencia) Isolation (Aislamiento) Durability (Permanencia)

Una

Transaccin se ejecuta exactamente una vez y tiene carcter atmico; es decir, el trabajo se realiza en su totalidad o no se realiza en ningn caso. Una Transaccin es una unidad de trabajo en la que se produce una serie de operaciones entre: Begin Transaction y End Transaction.

Una

transaccin es una unidad integral porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente. La coherencia requiere que los datos enlazados mediante una transaccin se mantenga en trminos de semntica.

Una

transaccin es una unidad de aislamiento, permitiendo que transacciones concurrentes se comporten como si cada una fuera la nica transaccin que se ejecuta en el sistema. Una transaccin nunca debe ver las fases intermedias de otra transaccin.

Una

transaccin tambien es una unidad de recuperacin. Si una transaccin se realiza satisfactoriamente, el sistema garantiza que sus actualizaciones se mantienen aunque el equipo falle inmediatamente despus de la confirmacin.

Transacciones

Manuales Transacciones Automticas

Permiten

comenzar de forma explcita una transaccin, controlar cada una de las inscripciones de recursos y conexiones dentro del lmite de la transaccin, determinar el resultado de la misma (confirmacin o anulacin) y finalizarla. Tipos:

Transacciones de ADO .NET Transacciones de Colas de Mensajes

Cuando se trabaja con aplicaciones distribuidas con COM+

Admitidas por:
Microsoft Transaction Server (MTS) COM+ Common Lenguaje Runtime

Una vez que una pgina de ASP .NET, un mtodo de servicio web XML, o una clase de .NET Framework se marcan para participar en una transaccin, se ejecutan automticamente en el mbito de la misma. Tipos:

Transacciones de ASP .NET Transacciones de servicios Web XML Transacciones de servicios empresariales .NET

Para

comenzar una transaccin local, usaremos el objeto de conexin de ADO.NET: Connection.BeginTransaction Inscribiremos un comando en esa transaccin mediante la propiedad Transaction del objeto Command. Luego, podremos utilizar el objeto Transaction para confirmar o deshacer las modificaciones realizadas en el origen de datos, en funcin del xito o de los errores de los componentes de la transaccin.

Declarar una variable de tipo SqlTransaction

Dim Tran As SqlTransaction

Definir una estructura Try..Catch..Finally que maneje los posibles errores de ejecucin de comandos: En Try, abrir la conexin:

Cnn.Open()

Crear la transaccin:

Tran = Cnn.BeginTransaction

Configurar la propiedad Transaction de todos los comandos que se desean en la transaccin

oComando.Transaction = Tran

Ejecutar

los comandos con ExecuteNonQuery

oComando.ExecuteNonQuery

Si

ningn comando genera una excepcin, realizar la transaccin mediante Commit:


Tran.Commit()

Si

algn comando genera un error, anular la transaccin con Rollback dentro de Catch:
Tran.Rollback()

Cerrar

la coneccin si est abierta, dentro de Finally:


If cnn.State=ConnectionState.Open then Cnn.Close()

You might also like