Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 19-08-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 26
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por rafadrover Voy a liar un poco mas la cosa:
Supongamos que tenemos una ficha MDI cliente, y otra ficha MDI reserva, en la de cliente se inicia un transaccion, y al final un commit. En la de reserva igual.
Si he entendido bien, hay dos transacciones, una en cliente y otra en reserva.

Cita:
Posteado originalmente por rafadrover Desde la ficha de reserva se puede abrir la ficha de cliente, en forma modal, por tanto, cuando se tiene activa transaccion de reserva, se inicia otra, la de cliente, si ambas tablas tienen asociadas la misma transaccion,
Imposible. Si se inician dos transacciones, son dos transacciones. No hay forma de ligar una transacción a la otra. Además, una de las características de cualquier sistema transaccional es el aislamiento entre transacciones.

Cita:
Posteado originalmente por rafadrover cuando se cierra la ventana cliente, esta hace el commit, guardando todos los datos de reserva,
Entiendo que es guardar los datos de reserva sin hacer commit.

Cita:
Posteado originalmente por rafadrover luego volvemos a la ficha de reserva, si hacemos un commit,
Correcto, ahora hacemos el commit en reserva.

Cita:
Posteado originalmente por rafadrover todo va bien, pero si el usuario quiere cancelar el trabajo y son transacciones distintas,todas las operaciones de reserva, se cancelan, pero las de cliente al ser una transaccion distinta se han guardado.
Si se ha hecho el commit en ambas transacciones (cliente y reserva) no hay forma de volver atrás (no al menos directamente), ni en una ni en otra. Además, debido a lo que comentamos anteriormente del aislamiento entre transacciones, lo que haya ocurrido con la transacción en cliente no afecta a lo que vaya a ocurrir con la transacción reserva. Entiende "no afecta" desde el punto de vista del mecanismo de confirmación (commit) o rechazo (rollback) de los cambios, otra cosa es que un cambio en los datos de una transacción pueda hacer que el servidor no acepte los cambios de otra debido a restricciones de integridad.

Saludos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:43:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi