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 02-12-2005
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Fibtransaction wait i timeout

Hola

Para Controlar un error de deadloc al modificar dos usuarios el mismo registro trabajando con firebird i fibplus hasta ahora lo hacia con un bucle controlando el error con un try except y en el momento de poder actualizar el registro salir del bucle.
Ahora pensando en las propiedades wait i timeout de la transaccion queria hacer lo mismo que hacia antes pero no me funciona.
Añado wait a los parametros de la transaccion i 5000 al timeout esperando que al ejecutar un fibquery con execquery esperaria 5 segundos a saltar el error o bien si como es habitual en mi aplicación a los 2 segundos que es lo que puede tardar el otro usuario en dejar libre el registro, se ejecute el execquery sin problemas.
Per no sucede lo que yo pensaba sino que salta la exepcion instantaneamente al hacer execquery.
Tambien he probado con wait sin timeout y entonces no salta la excepcion pero como es logico tampoco actualiza el registro ni espera para seguir probando de ejecutar.
Espero vuestra ayuda, porque no se lo que hago mal

Gracias anticipadas

Panta
Responder Con Cita
  #2  
Antiguo 02-12-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

No has probado capturar la exception y si el error de bloqueo muerto actualizar tu dataset.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 02-12-2005
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Claro lo que hago ahora es controlar el error y ya me funciona, lo que yo quisiera que alguien me aclarase el funcionamiento del wait con el timeout y si con esto se puede evitar de tener que controlar el error con un try except dentro de un bucle e ir probando de ejecutar hasta que se encuentre el registro desbloqueado o bien el usuario apriete Escape (esto ya lo tengo claro) .
Quisiera es un ejemplo del wait i el timeout en una transaccion.

No se si me explico correctamente

Gracias de todas formas

Panta
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 18:23:04.


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