Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2005
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Intentar conexion FB en tiempo de ejecución

A ver...
Tengo una aplicación con dos tipos de bases de datos. Una de ellas está en Access y se utiliza para trabajar en forma local (por el momento). La otra está realizada en Firebird en un servidor remoto.
Deseo hacer que en el caso de que no exista una conexión activa a internet y no haya acceso al servidor de Firebird, el programa siga con su ejecución normal tras intentar conectarse tres veces.
Por el momento lo único que consigo es una excepción (EIBInterBaseError) que no soy capaz de controlar.
Código:
if intentos<3 then
 	begin
 	  try
 		if DM.IBDb1.Connected=FALSE then
 		  BEGIN
 		    frmPortada.StatusBar1.Panels.Items[4].Text:='Servidor Remoto Cerrado';
 			TRY
 			  DM.IBDb1.Connected:=TRUE;
 			  intentos:=intentos+1;
 			  timer1.Enabled:=TRUE;
 			EXCEPT
 			END;
 		  END
 		ELSE
 		  begin
 		    frmPortada.StatusBar1.Panels.Items[4].Text:='Actualizando desde Servidor Remoto';
 		    PingConexion('C');//Esto vuelca unos datos a la base de Firebird
 		  end
 	  except
 
 	  end;
 	end;
Este es el código que utilizo para testear si hay conexión a Firebird. Está dentro de un TTimer que se ejecuta 1 segundo después de iniciar la aplicación.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!!
En fase de construcción: LoBusco.com más .com que nunca!
Responder Con Cita
  #2  
Antiguo 24-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Código Delphi [-]
if intentos<3 then
   begin
     try
     if DM.IBDb1.Connected=FALSE then
       BEGIN
         frmPortada.StatusBar1.Panels.Items[4].Text:='Servidor Remoto Cerrado';
       TRY
         DM.IBDb1.Connected:=TRUE;
         intentos:=intentos+1;
         timer1.Enabled:=TRUE;
       EXCEPT
       END;
       END
     ELSE
       begin
         frmPortada.StatusBar1.Panels.Items[4].Text:='Actualizando desde Servidor Remoto';
         PingConexion('C');//Esto vuelca unos datos a la base de Firebird
       end
     except
             //Codigo insertado
             On E: Exception Do  If (E Is EIBInterBaseError) Then
                 ShowMessage('Pon el error aqui')
                 //ShowMessage(E.Message) Con esto devuelves el error real  
             End Else
                ShowMessage('Error desconocido');
     end;
   end;
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 25-11-2005
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Gracias rastafarey por contestar.
Voy a probar lo que me dices.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!!
En fase de construcción: LoBusco.com más .com que nunca!
Responder Con Cita
  #4  
Antiguo 29-11-2005
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Siento haber tardado tanto en contestar.
Funciona perfectamente. Gracias rastafarey.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!!
En fase de construcción: LoBusco.com más .com que nunca!
Responder Con Cita
  #5  
Antiguo 30-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

De nada y para eso estamos
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:23:56.


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
Copyright 1996-2007 Club Delphi