Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Redes (https://www.clubdelphi.com/foros/forumdisplay.php?f=37)
-   -   problemas en una red wi-fi (https://www.clubdelphi.com/foros/showthread.php?t=52280)

santiago14 16-01-2008 13:42:30

problemas en una red wi-fi
 
buen dia, paso a comertar la cosa.
He instalado una aplicación en una red wi-fi, 4 máquinas, pero resulta que esta red no tiene muy buena señal y se conecta y desconecta de a ratos. Claro está que el sistema operativo cuando detecta la desconexión intenta por sus propios medios reconectarse y de hecho lo logra pero mi aplicación queda desconectada permanentemente del servidor de Base de Datos y tengo que reiniciar la aplicación en esa estación para que se conecte nuevamente.

Estoy usando los componentes IBExpress (TIBDataBase, TIBTransaction, TIBQuery, ...) y una base de datos firebird 1.5 en la red.

¿Hay alguna manera de solucionar este drama? Por ejemplo se me ocurre que cuando el usuario le dé click para realizar una consulta de alguna manera sepamos que hubo una desconexión y reintentemos conectar.

Gracias.

Lepe 16-01-2008 15:59:10

Tu programa debería dar una excepción, tendrás que ver cual es.

Lo normal, usar un ApplicationEvents.OnException y ahí averiguar si se trata de un error de IBX, puedes mostrar el sqlCode y el mensaje.

En el archivo Fb_1_5_errorcodes.pdf (googlea) encontrarás el listado de errores:
Código:

SQLCODE        GDSCODE        SYMBOL                        TEXT
-901                335544741        lost_db_connection        Connection lost to database

Uno de ellos puede ser ese. Si está editando un registro, el error puede ser otro distinto.

como decía, en el OnException, puedes cerrar la conexión y restaurarla, aunque muy posiblemente el usuario tenga que volver a realizar la última acción (si usas controles db-aware).

Edito: En todas tus ventanas, tendrás que añadir un botón de "Abrir de nuevo las consultas de esta ventana".

Saludos

Neftali [Germán.Estévez] 16-01-2008 16:03:10

Otra opción, si las desconexiones son frecuyentes es realizar un pooling periódico (en este caso podrías hacer un ping al server) y detectar así cuando la conexión ha caído.
Una vez detectada esta situación, con volver a activarla debería bastar.

Si no recuerdo mal, SAP detecta cortes de conexión de esta forma...


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

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi