Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2021
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
Si, ya lo he metido dentro de un bloque try except.
Y a partir de ese momento ha empezado a funcionar bien.
Lo curioso es que el Update se quedaba colgado (sin dar ningún tipo de error en el ordenador donde se estaba ejecutando) y eso impedia el acceso de otros ordenadores y en estos sí que terminaba por salir un error deadlok.

Gracias Nuño
Responder Con Cita
  #2  
Antiguo 30-05-2021
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
perdonar he estado un tiempo fuera, dentro del try...except que excepción tendría que poner.

Gracias.
Responder Con Cita
  #3  
Antiguo 31-05-2021
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
Eso depende de lo que tenga que hacer el bloque try except, desde un simple mensaje genérico y cancelación del proceso hasta detectar el tipo de mensaje y hacer 'cosas' en función del mensaje, etc...
Responder Con Cita
  #4  
Antiguo 31-05-2021
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
Mi problema básicamente es aparentemente sencillo, y es que el ordenador se queda pensando indefinidamente sin dar ningún tipo de error, se queda como bloqueado aparece el icono del tiempo en medio la pantalla como si estuviera haciendo algo pero ahí se queda indefinidamente sin dar error de ningún tipo de error y pensando.

Mi arquitectura de la base de datos es sencilla, tengo una base de datos creada en IbExpert con Firebird 2,5 la cual se puede llamar Bdatos1, con 20 campos.

En mi programa que llamo Aplicacion1, en un Formulario conecto mediante un TIBDabase, junto con el TIBTrasaccion ambos los asocio con DefaultDadabase y DefaultTranssacción.

A su vez conecto las distintas tablas del TibDatabase y todo es perfecto, trabajo en el PC1 sin problemas.

Ahora en el PC2, copio el programa que he hecho "Aplicacion1', y conecto mediante la base de datos mediante un Archivo.INI la ruta donde está la Base de Datos 'Bdatos1', y se conecta perfectamente, puedo ver cualquier registro, imprimir cualquier listado, sin ningún problema, eso tanto en el PC1 como en el PC2, podemos ver cualquier listado yo tengo Rave Reports, o cualquier consulta.

El problema viene, cuando tanto en el PC1, como en el PC2, después de hacer cualquier consulta, intentamos modificar o insertar cualquier registro en esa Base de Datos que está compartida en ese momento, entonces cuando pulso el botón de Grabar, tanto sea en el PC1 como en el PC2, se pone el icono del tiempo tanto vueltas y vueltas indefinidamente sin poder continuar, teniendo que salir del programa y volver hacer la operación.

Por lo que he podido leer es un problema en el TIbTransacción que hay que poner una excepción para evitarlo por eso esa era mi pregunta o ver dónde podría encontrar una explicación.

Me haríais un mundo, gracias.
Responder Con Cita
  #5  
Antiguo 31-05-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué propiedades has puesto en el componente IBTransaction?
¿Qué quieres decir con que la BD está compartida?
Responder Con Cita
  #6  
Antiguo 31-05-2021
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
Como dice Nuño Martinez anteriormente, pon los insert y los update dentro de transacciones y dentro de un bloque TRY EXCEPT, TRY FINALLY y te evitarás muchos problemas.
Lo que sí hay que hacer dentro del bloque EXCEPT es cerrar la transacción (ROLLBACK)
Responder Con Cita
  #7  
Antiguo 02-06-2021
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
Casimiro, la Transacción está con las propiedades por defecto, no se ha cambiado ninguna propiedad.

la Base de Datos compartida, es simplemente que está en el PC1, y accedo a ella desde el PC2, mediante la red
Código Delphi [-]
                [BD]
                PATH:"192.xxx.x.xxx:C:\Aplicacion1\BaseDatos01\"

Con esto accedo a la base datos, inserto y modifico, desde el PC2, pero cuando abro la aplicación en el PC1 también y están los dos PC con la misma aplicación , ya el PC2 se queda eternamente pensando sin dar ningún error, se queda bloqueado cuando intento modificar o insertar un registro, pero no cuando quiero leer, hacer un listado en ese caso funciona bien aun estando los dos PC con la misma aplicación abierta, la lectura se hace bien pero no el insertar o modificar.
Responder Con Cita
  #8  
Antiguo 03-06-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pon estos parámetros al componente Transaction que uses:
Código:
write
nowait
rec_version
read_commited
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
Firebird remoto - Modificar registros Gregorio Cíber Conexión con bases de datos 8 23-03-2021 22:32:04
modificar variios registros con dataset pmtzg Conexión con bases de datos 7 11-02-2012 12:05:02
Modificar registros desde DBgrid quakerman Conexión con bases de datos 7 09-11-2011 03:40:03
modificar registros yossi SQL 6 11-06-2010 03:43:58
modificar registros query Buelos Firebird e Interbase 8 02-03-2008 00:52:00


La franja horaria es GMT +2. Ahora son las 15:06:02.


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