Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2011
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Duda sobre el CommitRetaining

Hola amigos tengo una duda sobre el como funciona este procedimiento.

el problema es que cuando hago commit la base de datos se desconecta, tengo un formulario de facturacion en donde muestro una consulta de las facturas del dia y un boton que me llama al formulario de factura, pero cuando guardo una factura y cierro la ventana del formulario factura la consulta del modulo de factruracion queda desactivada, es claro poque al hacer el commit la base de datos se cierra, investigue algo y parace que si utilizo el CommitRetaining la base de datos se mantiene activa, pero mi duda es que segun la ayuda del delphi F1, me dice que guarda los cambios como un commit pero mantiene la transaccion activa y con esto tengo muchas dudas...



despues de hacer commit

__________________
all your base are belong to us
Responder Con Cita
  #2  
Antiguo 10-11-2011
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.
Te respondo citando a mi amigo Kinobi

Cita:
Empezado por kinobi Ver Mensaje
Hola,


Lo que ocurre es que, con CommitRetaining, no se lanza el proceso de recolección cooperativa de basura, o lo que es lo mismo, no se eliminan los "deltas" (recuerda que InterBase no almacena copias completas en la multiversión de registro, sólo de los cambios efectivos dentro de cada registro) que se generan en la Arquitectura Multi-Generacional. De todas formas, el proceso de sweeping, o un backup-restore, elimina el problema.


Realmente la transacción no es la misma después de un CommitRetaining. Lo que sucede es que la nueva transacción, que se crea tras el CommitRetaining, aprovecha el contexto que estaba utilizando la transacción anterior para agilizar el proceso. Los cambios que realicen otras transacciones concurrentes, independientemente al uso de Commit o CommitRetaining, sólo podrás verlos si se confirman (con Commit o CommitRetaining) en esas transacciones y, además, tu transacción tiene un nivel de aislamiento suficientemente bajo para verlos (READ COMMITED).

Saludos.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
CommitRetaining no funciona!! Neomanar Firebird e Interbase 8 10-01-2008 23:37:03
Commit - CommitRetaining Luzma Firebird e Interbase 3 27-06-2006 01:58:58
Duda sobre DFS enrique_84 Varios 2 08-06-2006 11:53:40
Una duda sobre los Uses jorch_yr Varios 1 30-05-2004 04:39:40
CommitRetaining con IBX Marina Conexión con bases de datos 7 10-08-2003 10:06:04


La franja horaria es GMT +2. Ahora son las 14:07:13.


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