FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. Última edición por santiago14 fecha: 16-01-2008 a las 13:45:03. Razón: Errores de ortografía |
#2
|
||||
|
||||
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 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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 16-01-2008 a las 16:03:17. |
#3
|
||||
|
||||
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...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
|