Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2011
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Transacciones manejo correcto

Hola a todos

Tengo un sistema echo en delphi 6 con los componentes IBX y base de datos firebird 1.5

Tengo definida las transacciones read_commited , rec_version , nowait

Es la manera correcta de configurarlas , lei por algun lado q es la manera correcta de hacerlos

El sistema estaba funcionando bien en un ambiente de de 40 equipos pero a veces se me colgaba y salia al tiempo un mensaje de deadlock , era porq tenia anteriormente configurado la opcion de wait , el mayor problema se me daba en las actualizaciones a inventarios , pero repito muy rara vez

Si me pueden guiar se los agradeceria un mundo

Nota : cuando utilizo transacciones en cache , al componente Ib le coloco cache en true y lo grabo con este funcion , seguido de un transaccion.commit;

function puedocerrarTrans(const Tables: array of TIBDataset; Action: string): Boolean;
var
I: Integer;
//Actualizar: Boolean;
begin
Result := True;
for I := 0 to high(tables) do
if Tables[i].updatesPending or Tables[i].modified then
begin
if Action = 'S' then Tables[i].ApplyUpdates
else
Tables[i].CancelUpdates;
end;
end;
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 18-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No he entendido qué problema tienes realmente

Por si acaso, ¿conoces el documento Juan José Rodríguez, todo un clásico en el tema de las transacciones?.
Responder Con Cita
  #3  
Antiguo 18-01-2011
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias por tu tiempo

En verdad la cosa va asi , anteriormente tenia en las transacciones las acciones tal como te la indicaba pero con la opcion wait ( a veces se quedaba colgada la aplicacion y respondia despues de un par de horas con un deadlock) , ahora estoy cambiando a nowait (recien voy a lanzar el aplicativo a su ejecucion) , mi pregunta basica es basado en su experiencia , q opcion es mejor cuando trabajas con altos volumens de datos (facturas , cuentas x cobrar , cuentas x pagar etc ) , si la opcion de wait o nowait , segun esta escrito en algunos manuales la opcion nowait no espera si fuera el caso de un deadlock y muestra inmediatamente el mensaje de error ,dejando de esta manera al usuario con un mensaje directo en vez de q se quede colgado el aplicativo y me muestre un mensaje un para de horas despues

Gracias por su tiempo

nota : Si he leido ese articulo
__________________
IVAND
Responder Con Cita
  #4  
Antiguo 18-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola IVAND, yo siempre uso 'nowait', aunque deberías revisar tus transacciones, no debe aparece nunca un deadlock.
Responder Con Cita
  #5  
Antiguo 19-01-2011
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Si eso es cierto , pero estoy revisando ya todo el aplicativo , he echo pruebas en par de modulos cambiando a nowait ,(Updates , Insert , delete) y todo va bien , en algun lado debe estar mal algo ..... uhhh duro trabajo que me espera


Nuevamente muchas gracias
__________________
IVAND
Responder Con Cita
  #6  
Antiguo 19-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hay que tener paciencia
Deberias probar desde varios puestos al mismo tiempo haciendo pruebas de trabajo normal e intentar encontrar alguna coincidencia en el momento que ocurra, no sé, por ejemplo, cuando estaba consultando las ventas de un cliente y alguien estaba vendiéndole a ese mismo cliente. (por decir algo).
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
manejo correcto de OnValidate FGarcia Firebird e Interbase 10 12-05-2007 20:08:39
Correcto uso de transacciones IVAND Firebird e Interbase 5 28-11-2005 16:43:15
Manejo de Transacciones takeo Conexión con bases de datos 0 01-12-2004 05:29:53
Manejo de Transacciones senpiterno Conexión con bases de datos 1 08-10-2004 15:05:34
Como usar las transacciones que es lo correcto azraelrvg Firebird e Interbase 1 21-10-2003 23:02:37


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


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