PDA

Ver la Versión Completa : problemas en una red wi-fi


santiago14
16-01-2008, 13:42:30
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:

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...