Discussion:
Desconexión con base de datos
(demasiado antiguo para responder)
Juan Sánchez Belzunce
2004-08-23 23:01:53 UTC
Permalink
Hola de nuevo:

Estoy desarrollando una aplicación cliente/servidor con Delphi 6.
La base de datos está desarrollada sobre SQL Server 2000, y la
forma de acceso es mediante ODBC.

Mi pregunta es si existe alguna forma de que si se produce una desconexión,
el sistema informe de ello. No importa que sea en el mismo momento
en que se produzca o cuando voy a acceder a la base de datos.
De esta forma me ahorraría todas las instrucciones try...except...end;
cada vez que coloco otra instrucción para hacer algo en la BD.

Muchas gracias.
hammelin
2004-08-24 11:55:53 UTC
Permalink
Si todas las Tablas, querys... van enganchadas a un adoconnection, éste
tiene métodos del tipo AfterDisconnect y Beforedisconnect,
OnBeginTranscomplete... etc etc.
Te aconsejo que trabajes con transacciones, porque aunque sepas que se
desconectó, si te pilla en medio de , digamos un modify de 100 tuplas,... a
saber que es lo que ha quedado modificado y lo que no, y a veces no basta
con volver a lanzar la consulta (estilo, sumale 100.000 pts al sueldo de
cada empleado).
Espero que te sirva de ayuda.
Post by Juan Sánchez Belzunce
Estoy desarrollando una aplicación cliente/servidor con Delphi 6.
La base de datos está desarrollada sobre SQL Server 2000, y la
forma de acceso es mediante ODBC.
Mi pregunta es si existe alguna forma de que si se produce una
desconexión,
Post by Juan Sánchez Belzunce
el sistema informe de ello. No importa que sea en el mismo momento
en que se produzca o cuando voy a acceder a la base de datos.
De esta forma me ahorraría todas las instrucciones try...except...end;
cada vez que coloco otra instrucción para hacer algo en la BD.
Muchas gracias.
Juan Sánchez Belzunce
2004-08-24 16:48:09 UTC
Permalink
Ante todo, gracias por tu respuesta, hammelin.

Aunque sé que no es la mejor opción, uso ODBC y el BDE. Es la primera vez
que hago una aplicación de este tipo,
así que he ido por el camino que conocía (no sé si es el más fácil).

Siempre uso TTables y un objeto TDatabase. He probado en poner un mensaje
(como prueba) en el evento AfterDisconnect,
pero no me funciona.

Si hubiese alguna otra manera, pues por favor, decídmelo.

Gracias otra vez.
Post by hammelin
Si todas las Tablas, querys... van enganchadas a un adoconnection, éste
tiene métodos del tipo AfterDisconnect y Beforedisconnect,
OnBeginTranscomplete... etc etc.
Te aconsejo que trabajes con transacciones, porque aunque sepas que se
desconectó, si te pilla en medio de , digamos un modify de 100 tuplas,... a
saber que es lo que ha quedado modificado y lo que no, y a veces no basta
con volver a lanzar la consulta (estilo, sumale 100.000 pts al sueldo de
cada empleado).
Espero que te sirva de ayuda.
Post by Juan Sánchez Belzunce
Estoy desarrollando una aplicación cliente/servidor con Delphi 6.
La base de datos está desarrollada sobre SQL Server 2000, y la
forma de acceso es mediante ODBC.
Mi pregunta es si existe alguna forma de que si se produce una
desconexión,
Post by Juan Sánchez Belzunce
el sistema informe de ello. No importa que sea en el mismo momento
en que se produzca o cuando voy a acceder a la base de datos.
De esta forma me ahorraría todas las instrucciones try...except...end;
cada vez que coloco otra instrucción para hacer algo en la BD.
Muchas gracias.
hammelin
2004-08-25 07:44:49 UTC
Permalink
Hombre... ¿por que no pasas del BDE?
Si total no te va a suponer ningun atraso, ya que son practicamente iguales
el Adotable y Adoquery.
Ademas, es mucho mas rápido y no tienes que instalar el BDE...
Yo con Ado+Bde nunca probé (ni creo que lo haga.. :) )
pero de la otra forma si que lo hago habitualmente contra servidores en
sqlserver.
Post by Juan Sánchez Belzunce
Ante todo, gracias por tu respuesta, hammelin.
Aunque sé que no es la mejor opción, uso ODBC y el BDE. Es la primera vez
que hago una aplicación de este tipo,
así que he ido por el camino que conocía (no sé si es el más fácil).
Siempre uso TTables y un objeto TDatabase. He probado en poner un mensaje
(como prueba) en el evento AfterDisconnect,
pero no me funciona.
Si hubiese alguna otra manera, pues por favor, decídmelo.
Gracias otra vez.
Post by hammelin
Si todas las Tablas, querys... van enganchadas a un adoconnection, éste
tiene métodos del tipo AfterDisconnect y Beforedisconnect,
OnBeginTranscomplete... etc etc.
Te aconsejo que trabajes con transacciones, porque aunque sepas que se
desconectó, si te pilla en medio de , digamos un modify de 100
tuplas,...
Post by Juan Sánchez Belzunce
a
Post by hammelin
saber que es lo que ha quedado modificado y lo que no, y a veces no basta
con volver a lanzar la consulta (estilo, sumale 100.000 pts al sueldo de
cada empleado).
Espero que te sirva de ayuda.
Post by Juan Sánchez Belzunce
Estoy desarrollando una aplicación cliente/servidor con Delphi 6.
La base de datos está desarrollada sobre SQL Server 2000, y la
forma de acceso es mediante ODBC.
Mi pregunta es si existe alguna forma de que si se produce una
desconexión,
Post by Juan Sánchez Belzunce
el sistema informe de ello. No importa que sea en el mismo momento
en que se produzca o cuando voy a acceder a la base de datos.
De esta forma me ahorraría todas las instrucciones try...except...end;
cada vez que coloco otra instrucción para hacer algo en la BD.
Muchas gracias.
Continúe leyendo en narkive:
Loading...