FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Apagaron el servidor Firebird !!!!
Es una supocisión pero tengo días con la preocupación.
¿Que pasaría si mientras se ejecuta una aplicación cliente servidor algún usuario decide apagar justamente el equipo que sirve como servidor ó suspender el servicio del firebird? Por partes: Al cargar mi aplicación intento conectarme al servidor firebird (usando los MDO database.conected := true) capturo si ocurre una excepción y si es así permito reintentar o cancelar algo así:
Funciona bien al iniciar el programa pero: Y esta si es la pregunta: como puedo verificar que el servidor este "en Linea" antes de ejecutar algunas sentencias SQL criticas. Gracias
__________________
Sitrico |
#2
|
|||
|
|||
Hola sitrico
Cita:
Lo importante a solucionar es que no te apaguen el servidor. Imagino, por lo que dices, que estas usando como servidor una máquina que es a su vez un puesto de trabajo. Con Linux/Unix Windows XX Server esto no debería susceder, a menos que un usuario tenga los permisos suficientes, no podrá apagar el servidor, lo que no impide que le ponga el dedo a reset. Saludos TJose |
#3
|
||||
|
||||
Efectivamente el servidor será una estación de trabajo (ocasional) pero pensandolo más el único problema no es el apagado del servidor, tambien existen otras posibles causas para que un equipo deje de responder (tendrá Windows XP) y lo que pasó es que en las pruebas preliminares probé detener
el firebird a -ver que pasaba- . En cuanto al arranque del sistema lo pude solucionar elegantemente, pero, ya en ejecución me gustaría manejar apropiadamente una situación como esta. Supongo que requerirá usar try..except protegiendo las llamadas a "MDOQuery.ExecSQL" y en las transacciones. de cualquier forma tienes razón: Cita:
Cita:
__________________
Sitrico |
#4
|
|||
|
|||
Hola
La verdad que no sé cual será la mejor solución, pero, para lo que planteas tendrás que controlar antes de cada instruccion el estado del servidor. No me parece lo más apropiado (es sólo mi opinión). Saludos Jose PD: Con unos pocos pesos te compras una máquina que haga de servidor, con un SO apropiado. |
#5
|
||||
|
||||
Basta con colocar entre un Try Except la instruccion Open o ExecSQL, si hay algun problema se generará la excepción. El unico inconveniente es que no siempre se puede identificar que sucedió ya que la excepcion se puede generar por un error en la sintaxis de sql o verdaderamente porque no hay conexión.
Yo lo hago de esa forma pongo todo lo que se debe ejecutar solo si hay servidor disponible dentro de un try except y si por la de malas no hay conexión el programa solo lo informa y no pasa nada. Hay posibilidad de reintentar
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#6
|
||||
|
||||
__________________
Sitrico |
#7
|
||||
|
||||
Resp
Si lo que te preocupa es la integridad de la data entonces no te procupas mas solo has lo que queiras hacer de manera transacional que firebird hara el resto.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Instalar firebird en un servidor unix | andressanchez | Varios | 2 | 18-08-2005 21:42:28 |
Principiante en Cliente/Servidor con Firebird | Hagen | Firebird e Interbase | 1 | 25-08-2004 20:45:22 |
Firebird Cliente-Servidor | dango | Firebird e Interbase | 2 | 05-06-2004 04:40:53 |
Dudas - Aplicacion Cliente/Servidor con Firebird 1.5 | Hagen | Firebird e Interbase | 1 | 27-02-2004 06:15:38 |
|