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)
-   -   Como puedo crear un servicio para monitorear BD (https://www.clubdelphi.com/foros/showthread.php?t=25005)

marcoev 08-09-2005 19:46:59

Como puedo crear un servicio para monitorear BD
 
Hola que tal, espero y no duplique este hilo...

mi problema es el siguiente, quiero hacer un programa que me permita monitorear unas bd (MS Access), en las cuales correre algunos queries para obtener cambios en ciertas tablas, y asi poder informar al usuario en tiempo real de registros que estan por vencerse, y lo que se me vino a la cabeza es tener un programa corriendo como un servicio (sin que el usuario se preocupe de su existencia) y este enviando dichos resultados a la pantalla, como mensajes, crear reportes o en el mejor de los casos enviarlos por email.

espero sus comentarios, y muchas gracias!

Edgar Perez 09-09-2005 01:59:19

Respuesta...
 
Marcoev:

Buenas tardes, Yo hice algo parecido. Primero te explicare lo que hice y luego como lo hice y espero q te sirva de algo:

Yo hice una Service Application que realiza lo siguiente: Esta conectado a una BD de Interbase y está a la escucha de un mensaje enviado por la BD para lo cual utilizo el IBEvents, al recibir el evento de la BD mi amplicacion lo q hace toma los valores de cierta tabla y las guarda en un archivo XML.

Para hacer lo anterior hice lo siguiente: Primero q nada crear la Service Application (que supongo ya sabras como crearla File-New-Other-Service Application), en la ventana de la Service (que tiene el aspecto de un DataModule y que de echo se comporta como tal ya que no puedes pegarle componentes visuales), ahi pegas los componentes de conexion hacia la BD, y le agregas un TTimer. En el evento OnTimer le pones el codigo q deseas para consultar la BD y le indicas cada que tanto tiempo quieres q haga esa consulta en la propiedad Interval (me supongo q tambien ya tienes construida la sentencia sql para hacer la consulta q quieres), ahora bien en el evento OnExecute del Service App pega este codigo:

procedure TSvc_Principal.ServiceExecute(Sender: TService);
begin
Timer.Enabled:=True;
while not Self.Terminated do
ServiceThread.ProcessRequests(True);// wait for termination
end;

y pues basicamente eso es todo, una cosa nada mas como detalle es que debes tener la propiedad Interactive = True del Service App por si quieres mostrar alguna ventana desde tu Service,...

marcoev 12-09-2005 18:46:06

Muchas gracias edgar, probare lo que me expones. saludos


La franja horaria es GMT +2. Ahora son las 03:20:54.

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