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 25-11-2005
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Correcto uso de transacciones

Hola a todos

Utilizo delphi 6 e Ibx e Firebird 1.5.3 , he leido bastante sobre lo lento que se puede volver firebird a veces es mas a este momento tengo ese problema , pero me gustaria me ayudaran a entender el uso de transacciones abrirlas y cerrarlas oportunamente

Cuando realizo consultas que tipo de transacciones utilizar etc

Utilizo bastante CommitRetainig , pero estoy cambiandolos a lo menos posible su uso , inicio una grabacion com Transa.active y se supone que cuando grabo no debo hacer nada mas o al final deberia poner algo como Transa.active=false , cuando utilizo una factura el componente que maneja los detalles IBxdetalles tiene una transaccion con commitretaing cada vez que se hace una insercion por cuestiones logicas deben ser grabados los Items porque tambien se resta el saldo del inventarios ... Hay alguna manera mas de atacar el problemas


De antemano Gracias


Nota : Como es la manera correcta de utilizar las transacciones en programacion es decir su sintaxis
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 25-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Descarga este documento, es del compañero Kinobi, de lo mejor que puedes leer al respecto.
Responder Con Cita
  #3  
Antiguo 26-11-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Yo tengo usando IBX's aprox. 1 año y con respecto al componente TIBtransaction en el nivel de aislamiento lo tengo como ReadCommited y no he tenido problemas de lentitud, inclusive en las consultas uso el mismo nivel y no hay problemas al respecto.

En lo que se refiere al uso en las Facturas yo también uso el CommitRetaining, inclusive en todos lo lados uso este mismo, es cierto que en el abuso de este puede ocasionarte problemas en el recolector de basura de firebird, pero esto se corrige tan sólo aplicar un Backup y un Restore.

Por otro lado ya salio la versión 1.53 de Firebird porque no la encuentro, sólo encuentro la 1.52.4731 .

Saludos....
Responder Con Cita
  #4  
Antiguo 26-11-2005
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Si es una nueva release que corrige bug de la anterior version puedes descargarla de la pagina oficial

Con respecto al otro compañero el abuso de los comiitretaining tiende a relentizar la base pero por ejemplo cuando hago una consulta que parametros debe utilizar la consulta , se deberia crear una nueva transaccion para las consultas en fin


de antemano gracias
__________________
IVAND
Responder Con Cita
  #5  
Antiguo 26-11-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Checa Esto....

El uso de las Transacciones tiene que ver tambieén en el tipo de Formas que usas en las pantallas, es decir, en mi caso uso formas modales por lo tanto uso 1 Sola transacción para todo el sistema, pero si tuviese formas No Modales que se puedan Abrir varias ventanas al mismo tiempo, te recomendaría usar diferentes Transacciones por cada Ventana que abres, al decir diferentes, quiero decir lo siguiente, por ejemplo:
En una aplicacion de cuentas por cobrar, se puede dar de alta a clientes, registrar cargos y abonos, etc. al entrar al Registro de Clientes Abro 1 transacción y si abro otra Ventana de Cargos y Abonos Abro otra transacción independiente a la del Registro de Clientes, el motivo de esto, es, si tuvieses 1 sola transacción para formas No Modales al tener varias pantallas abiertas se te va a presentar el problema de que si en una de ellas le dan un commit ó commiretaining en las otras también entran en el misma Abrazo de la Transacción, para evitar esto se opta por tener Transacciones Independientes.

Con Respecto a las consultas puedes usar el mismo tratamiento(ReadCommited), no vas hacer Modificaciones a ninguna tabla solamente son Consultas.

Saludos.

Última edición por AGAG4 fecha: 26-11-2005 a las 18:55:46. Razón: Corrección
Responder Con Cita
  #6  
Antiguo 28-11-2005
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Listo probare y les comentare alguna duda
__________________
IVAND
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


La franja horaria es GMT +2. Ahora son las 05:51:33.


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