Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2007
JLR JLR is offline
Registrado
 
Registrado: sep 2007
Posts: 8
Poder: 0
JLR Va por buen camino
Cuando falla la conexión

Hola gente.
Para evitar tener que reinstalar en todas las estaciones de trabajo, decidí simplemente que se ejecutarían directamente del servidor con la siguiente forma :

\\servidor\miprograma\miprograma.exe

Todo funciona Ok.
El problema es que quiero atrapar el error de fallo de conexión, es decir con el programa abierto me voy a un equipo de la red y le quito el cable.
Obtengo un par de errores uno del tipo "Unable to complete network resquest to host : xxx.xxx.xxx.xxx"
El problema es que cuando intento hacer cualquier cosa con el programa ya no obtengo otra cosa que no sea "Excepción external c0000006", y he leido que es por un problema de la red.
Si le pasa a algún cliente, sabemos que es problema de la red, pero quiero atrapar el error.
¿ Alguien ha hecho algo para que esto no pase ?
Salu2
JLR
Responder Con Cita
  #2  
Antiguo 26-10-2007
Avatar de Lonidas
Lonidas Lonidas is offline
Miembro
 
Registrado: abr 2006
Posts: 35
Poder: 0
Lonidas Va por buen camino
Hola, podrias usar el componente TApplicationEvent para capturar el mensaje de error y poner el mensaje que tu quieras...
Responder Con Cita
  #3  
Antiguo 29-10-2007
JLR JLR is offline
Registrado
 
Registrado: sep 2007
Posts: 8
Poder: 0
JLR Va por buen camino
Gracias por contestar.
En realidad si puedo sacar el error, pero no puedo manejarlo. El error es tan grave que no se recupera.
Salu2
Responder Con Cita
  #4  
Antiguo 29-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hola JLR:

Más o menos deducía lo que ocurría, pero dado que no soy gurú en estos temas, he reproducido tu error y de hecho obtengo el EExternalException.

En el ApplicationsEvents:
Código Delphi [-]
  if e is EExternalException then
  begin
    s := TStringList.Create;
    s.Add('error grave');
    s.SaveToFile('c:\Miprograma\NetworkError\mio.txt'); // atención a la carpeta NetWorkError 
    FrmErrorGrave.ShowModal;
    Application.Terminate;
  end;

El Application.Terminate no ayudará mucho, porque el Sistema Operativo también lo hará por nosotros.

Si necesitas mostrar un mensaje en tu ordenador "Cliente", puedes crear una ventana informando al usuario de los sucesivos errores que va a dar el programa.

En el lado servidor, podrías tener un programa monitoreando la carpeta 'NetworkError' que permita informarte (mediante correo, un sonido, etc) del problema.


Saludos y Suerte!!
__________________
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: 29-10-2007 a las 19:25:26. Razón: Editar afirmaciones erróneas
Responder Con Cita
  #5  
Antiguo 29-10-2007
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
y no seria mejor hacer un programita o una especie de acceso directo , que lo que haga sea copiar el programa del servidor a una carpeta local y luego ejecutarlo localmente en cada máquina ?.
bueno, lo ideal seria que dicho acceso directo o programita , se encargara de ver si el ejecutable del servidor es distinto (tamaño en bytes) y solo copiarlo en ese caso.
con esto te aseguras que todo el mundo lo tenga actualizado y todo el mundo lo ejecuta localmente y no por la red.

aun así , seguiras teniendo problema si el servidor o la red cae , pero será mas controlable por la aplicación.

saludos.
Responder Con Cita
  #6  
Antiguo 31-10-2007
JLR JLR is offline
Registrado
 
Registrado: sep 2007
Posts: 8
Poder: 0
JLR Va por buen camino
Muy bueno Lepe.
Los grandes problemas tienen pequeñas soluciones.
Lo he metido del tirón en el código ( algo parecido ), pero no he tenido tiempo de probar. (Seguro que funciona).
Ya hablaremos
Salu2
JLR
Responder Con Cita
  #7  
Antiguo 31-10-2007
JLR JLR is offline
Registrado
 
Registrado: sep 2007
Posts: 8
Poder: 0
JLR Va por buen camino
Efectivamente compañero.
Esa era una opción que la dejaba como última, ya que tengo casi 450 usuarios en múltiples instalaciones.
Imagino que por muy fácil que lo ponga siempre tendremos que dar explicaciones .
Salu2
JLR
Responder Con Cita
  #8  
Antiguo 31-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No creo que haya problemas al explicar este fallo, siempre que se haga de forma entendible:

" a ver, tú estas comiendo un plato de sopa, y llego yo y te quito la cuchara, ¿puedes seguir comiendo sopa?"

Normalmente explicaciones de este tipo arrancan una sonrisa del interlocutor, después se explica claramente el problema: "aunque no estés haciendo nada el programa usa la red para mantener la conexión con la base de datos, que está en el servidor, si falla la red, no hay comunicación posible , etc, etc".

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 31-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
No creo que haya problemas al explicar este fallo, siempre que se haga de forma entendible:

" a ver, tú estas comiendo un plato de sopa, y llego yo y te quito la cuchara, ¿puedes seguir comiendo sopa?"

Saludos
Mejor diles que les quitas el plato, que los usuarios te responden cualquier cosa.

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
saber cuando se establece conexion local robinsongm Varios 1 21-09-2007 15:23:14
Cuando no hay internet - conexion lenta Miguel Galarza Firebird e Interbase 2 24-10-2006 00:30:18
saber cuando se pierde la conexion en un IdTCPClient Spynosa Internet 4 25-07-2006 14:56:31
Conexion a firebird Falla Paoti Conexión con bases de datos 7 11-05-2004 21:35:33


La franja horaria es GMT +2. Ahora son las 05:30:51.


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