Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Visualizar Datos Tablas (https://www.clubdelphi.com/foros/showthread.php?t=94455)

pockelsm3 18-02-2020 23:10:17

Visualizar Datos Tablas
 
Saludos y buenas tardes a todos

tengo un inconveniente, tengo una app instalada en un PC (Servidor), adicional a eso, hay varias PC (Clientes) conectandose a la base de datos del servidor, cuando unos de los clientes crea alguna transaccion nueva, no se visualizan en ningun lado, clientes o servidor, ecepto en la misma pc donde se hizo la transaccion, para que se muestre la informacion todos los otros equipos Deben cerrar el Sistema y abrirlo nuevamente (tan pronto se crea la transaccion, he verificado en la base de datos y ya esta guardada).

Utilizo Firebird 2.5

las tablas las tengo en CacheUpdate, lo cual al momento del post, le ejecuto el ApplyUpdate y CommitRetaining.

Gracias de antemano por su ayuda y disponibilidad de ayudarnos a los menos diestros

Caminante 18-02-2020 23:15:00

Hola


Revisa el nivel de aislamiento de las transacciones. Yo lo dejo en ReadCommited y no tengo inconvenientes. Despues de que una transaccion es confirmada es necesario refrescar la vista para visualizar los cambios. Para eso basta con cerrar y volver a abrir las queries.


Espero sea util. Saludos

pockelsm3 18-02-2020 23:18:22

Cita:

Empezado por Caminante (Mensaje 535775)
Hola


Revisa el nivel de aislamiento de las transacciones. Yo lo dejo en ReadCommited y no tengo inconvenientes. Despues de que una transaccion es confirmada es necesario refrescar la vista para visualizar los cambios. Para eso basta con cerrar y volver a abrir las queries.


Espero sea util. Saludos


Gracias por la observacion, se me quedo especificar eso, he hecho ese tipo de prueba y aun asi, no se refresca, lo puse con un timer cada 30 seg, manuacon un boton haciendo (Close, luego Open) y persiste en inconveniente

orodriguezca 19-02-2020 15:15:43

Firebird es algo particular en el manejo de las transacciones, pues las utiliza no solo para realizar actualizaciones sino también para realizar consultas. Si usamos componentes de la paleta "Interbase" ocurre que si tenemos una transacción asociada al componente de conexión el hecho de cerrar y volver a abrir los querys no "reiniciará" la transacción, al menos que se cierre y vuelva a abrir la conexión. Para ver los cambios hay que cerrar la transacción y luego volver a abrirla antes de abrir nuevamente los query.

Si se utiliza FireDac segunramente no tengamos este problema; al parecer FireDac, cuando no se colocan transacciones explicitamente, tras bambalina crea, inicia, cierra y destruye las transacciones cuando se abren y cierran los querys.

pockelsm3 20-02-2020 00:40:05

gracias por sus respuestas, en cuanto a orodriguezca, leyendo tu comentario investigue un poco el componente IBTransaccion y encontre la solucion

hacienda click derero en el componente y selecionar Transaccion editor, ahi active un parametron llamado Read Commit, asunto salucionado

muchas gracias a todos por su interes en ayudar a los menos diestros

Neftali [Germán.Estévez] 21-02-2020 09:21:31

Cita:

Empezado por pockelsm3 (Mensaje 535774)
las tablas las tengo en CacheUpdate, lo cual al momento del post, le ejecuto el ApplyUpdate y CommitRetaining.


No tiene que ver con el tema, pero ya que lo has puesto te lo comento.
Revisa diferencias entre Commit y CommitRetaining.

He visto problemas con el segundo si se usa de forma indiscriminada (que no se si es tu caso).


La franja horaria es GMT +2. Ahora son las 13:00:58.

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