Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con la conexion con MS-SQL (https://www.clubdelphi.com/foros/showthread.php?t=17297)

ramonibk 03-01-2005 16:21:22

Problemas con la conexion con MS-SQL
 
Bueno he hecho una pequeña aplicación de mensajeria basándome en los famosos papelitos que andan por todas las oficinas.



Y bueno al principio todo muy bien. (por cierto estoy tirando de una base de datos MS SQL Server)

Pero el problema surge cuando por alguna causa el ordenador que tiene la base de datos se apaga.

El sistema empieza a darme pantallas de error, lo cual es lógico. Pero lo que me gustaria es una vez que de el primer error que no de mas. Y se quede esperando a que de nuevo se active la conexión.



Y por otro lado me a surgido que cuando pongo el programa tanto en el registro como en la carpeta de inicio, en barios ordenadores me funciona perfectamente. Pero en un par de ellos que tienen instalado el panda titanium da error de conexión, pero si lo cortas y lo arrancas una vez que el sistema a arrancado correctamente. No hay ningún problema.



Alguien me puede dar algún consejo????

Neftali [Germán.Estévez] 03-01-2005 16:47:43

Cita:

Empezado por ramonibk
El sistema empieza a darme pantallas de error, lo cual es lógico. Pero lo que me gustaria es una vez que de el primer error que no de mas. Y se quede esperando a que de nuevo se active la conexión.

Utiliza un Flag para controlar cómo está la conexión con la BD, de forma; que si ese flag está bajado dejas de hacer operaciones para que no te den errores, es decir todas las operaciones que impliquen conexión con BD deberían pasar antes por la comprobación de que ese flag es correcto, así dejarías de hacer operaciones de consulta a SQL server cuando no hay conexión (que seguro que van a dar error).
Alternativamente y cada cierto tiempo puedes ir intentando "reconectar"; Cuando lo consigas, vuelves a activar el flag y continuas...

Cita:

Empezado por ramonibk
...Pero en un par de ellos que tienen instalado el panda titanium da error de conexión, pero si lo cortas y lo arrancas una vez que el sistema a arrancado correctamente....

Revisa que esa versión de panda no tenga FireWall o similar que te esté "cerrando" las conexiones.

ramonibk 04-01-2005 11:04:17

Bueno el tema de usar las banderas mas o menos me queda claro.

De echo es una buena manera.



Pero la cosa es que yo estoy usando ADO. Y la idea que me ronda la cabeza es.

Como puedo hacer que el TADOConnection el en evento AfterConnect cerifique si existe la conexión. Por que después de verificarla en caso de que esta no exista puedo poner un timer pata comprobarlo regularmente.

Pero como compruebo que la conexión este presente.

Neftali [Germán.Estévez] 04-01-2005 12:24:37

En el AfterConnect puedes preguntar por la propiedad Active o Connected (no recuerdo cual es); Eso te debería decir si se ha conectado correctamente.

Otra opción para saber si la conexión está viva es hacer un ping o lanzar una pequeña consulta SQL y capturar los posibles mensajes de error.


La franja horaria es GMT +2. Ahora son las 09:34:21.

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