Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Reconectar ADO con SQL (https://www.clubdelphi.com/foros/showthread.php?t=52093)

lunygar 10-01-2008 10:45:43

Reconectar ADO con SQL
 
Buenos días, llevo unos días intentano conseguir que cuando una conexión ADO con SQL se desconecta porque el servicio de SQLSERVER se ha parado, al reanudarse el servicio no consigo hacer que se me reconecte la conexión ADO para conseguir funcionar con normalidad. Si reinicio la aplicación si que funciona, pero creo que esa no será la solución.

Muchas grácias de antemano, y espero que se haya entendido mi problema y me deis una solución.

Saludos.

ElDioni 10-01-2008 12:12:28

Por probar algo sencillo
 
Como no se si ya has probado algo o si te refieres a un adoconnection o a un adoquery te digo algo que creo que puede funcionar.

Código Delphi [-]
//si es un adoconnection
adoconnection1.connected:=false;
adoconnection1.connected:=true;
//si es un adoquery
adoquery1.active:=false;
adoquery1.active:=true;

Espero que te sirva, y si no, vuelve a postear.

Neftali [Germán.Estévez] 10-01-2008 12:12:45

Cita:

Empezado por lunygar (Mensaje 257123)
...al reanudarse el servicio no consigo hacer que se me reconecte la conexión ADO para conseguir funcionar con normalidad.

¿Porqué no lo consigues? ¿No te conecta? ¿Algun error?
¿Si cierras la conexión (ADOConnection) y la vuelves a abrir no funciona?

lunygar 17-01-2008 10:44:31

Buenas, la verdad es que he hecho mil pruebas y no se como conseguirlo. Seguro que será una chorrada...

Bueno, intento explicarme de nuevo.

Yo tengo una conexión ADO funcionando con mi programa en Delphi y SQL Server. En un momento dado paro el servicio de Sql Server, y a consecuencia pierdo la conexión a la BBDD. Hasta aquí bien. Ahora bien, me gustaría que cuando inicio otra vez el servicio poder reconectar el ADO y que la aplicación siga funcionando como antes de ser parado dicho servicio.

NOTA: La aplicación en ningún momento la detengo, por eso quiero recuperar la conexión y no se como.

Muchas grácias de nuevo, sois unos jefes.

Neftali [Germán.Estévez] 17-01-2008 11:47:12

Cita:

Empezado por lunygar (Mensaje 258770)
La aplicación en ningún momento la detengo, por eso quiero recuperar la conexión y no se como.

Prueba a deconectar la conexion ADO y volverla a conectar.

lunygar 17-01-2008 13:28:56

Muchas grácias, al final lo he solucionado creando otro ADOConnection y exclusivamente para sólo un ADOQuery.

Lo que pasaba es que antes utilibaza un ADOConnection para todos los ADOQuery y cuando lo ponía en false como me comentábais, me afectaba a los demás ADOQuery de la aplicación y se acababa fastidiando todo.

Ahora ya consigo que cuando vuelve el servicio acabe reconectando.


Muchas grácias a todos, como siempre me habéis ayudado a que me ilumine.


SALU2

rafita 17-01-2008 13:46:09

solo quería añadir unos comentarios:

1º) si paras el servicio es normal que no te funcione ninguna ADOQuery, con independencia de si dependen todas de la misma ADOConnection o no.

2º) una vez que lo has solucionado podía poner aquí cómo lo has hecho por si acaso alguien tiene ese mismo problema

Saludos

lunygar 17-01-2008 16:23:44

A ver, ya he comentado que mi solución es crear un solo ADOConnection para ese ADOQuery, entonces cuando para el servicio, normal que no responda. Ahora bien, al arrancar el servicio para volver a conectar hay que poner el ADOConnection.Connected en False y después volver a ponerlo en True y se soluciona el tema.

No se me solucionaba, porque utilizaba el mismo ADOConnection para más de ADOQuery, entonces Al poner un ADOQuery.Connection.Connected en False, me influía en todos. Total, que me petaba la aplicación por todos lados.

Espero haberme explicado.

Grácias.


La franja horaria es GMT +2. Ahora son las 13:36:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi