Está en la página 1de 14

MG.

LUIS BOY CHAVIL


Procesamiento de Transacciones
Propiedades ACID
Modelos de Transacciones
Creación de Transacciones en
ADO.NET
 Una Transacción es un conjunto de
tareas relacionadas que se realizan de
forma satisfactoria o incorrecta como
una unidad.
 En términos de procesamiento, las
transacciones se confirman o se anulan.
 Para que una transacción 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 función que las transacciones
desarrollan en aplicaciones críticas para una
misión.
 Atomicity (Atomicidad)
 Consistency (Consistencia)
 Isolation (Aislamiento)
 Durability (Permanencia)
Una Transacción se ejecuta
exactamente una vez y tiene
carácter atómico; es decir, el
trabajo se realiza en su totalidad
o no se realiza en ningún caso.
Una Transacción es una unidad
de trabajo en la que se produce
una serie de operaciones entre:
Begin Transaction y End
Transaction.
Una transacción 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
transacción se mantenga en
términos de semántica.
Una transacción es una unidad
de aislamiento, permitiendo
que transacciones
concurrentes se comporten
como si cada una fuera la
única transacción que se
ejecuta en el sistema.
Una transacción nunca debe
ver las fases intermedias de
otra transacción.
Una transacción tambien es
una unidad de recuperación.
Si una transacción se realiza
satisfactoriamente, el sistema
garantiza que sus
actualizaciones se mantienen
aunque el equipo falle
inmediatamente después de la
confirmación.
 Transacciones Manuales
 Transacciones Automáticas
 Permiten comenzar de forma explícita una
transacción, controlar cada una de las
inscripciones de recursos y conexiones dentro
del límite de la transacción, determinar el
resultado de la misma (confirmación o
anulación) 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 página de ASP .NET, un método
de servicio web XML, o una clase de .NET
Framework se marcan para participar en una
transacción, se ejecutan automáticamente en el
ámbito de la misma.
 Tipos:
 Transacciones de ASP .NET
 Transacciones de servicios Web XML
 Transacciones de servicios empresariales .NET
 Para comenzar una transacción local,
usaremos el objeto de conexión de ADO.NET:
Connection.BeginTransaction
 Inscribiremos un comando en esa transacción
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 función del éxito o de los errores
de los componentes de la transacción.
 Declarar una variable de tipo SqlTransaction
 Dim Tran As SqlTransaction
 Definir una estructura Try..Catch..Finally que
maneje los posibles errores de ejecución de
comandos:
 En Try, abrir la conexión:
 Cnn.Open()
 Crear la transacción:
 Tran = Cnn.BeginTransaction
 Configurar la propiedad Transaction de todos los
comandos que se desean en la transacción
 oComando.Transaction = Tran
 Ejecutar los comandos con ExecuteNonQuery
 oComando.ExecuteNonQuery
 Siningún comando genera una excepción,
realizar la transacción mediante Commit:
 Tran.Commit()
 Si algún comando genera un error, anular la
transacción con Rollback dentro de Catch:
 Tran.Rollback()
 Cerrar la conección si está abierta, dentro de
Finally:
 If cnn.State=ConnectionState.Open then Cnn.Close()

También podría gustarte