Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Llamada a Procedimiento Almacenado desde dentro de un Thread (https://www.clubdelphi.com/foros/showthread.php?t=44127)

MontarazAE 29-05-2007 09:40:38

Llamada a Procedimiento Almacenado desde dentro de un Thread
 
:confused:Buenos dias Gente::confused:

Os expongo mi problema. Tengo una base de datos en MS SQL SERVER.
La idea es tener una aplicacion que monitorice constantemente los datos que recibe de un proceso fisico. Para ello he creado un procedimiento almacenado que va a a ser el que introduczca los valores actualizados en la base de datos.
Para que la aplicacion pueda seguir funcionando la idea consiste en crear un hilo en el cual cada cierto tiempo se realice una llamada al procedimiento almacenado para actualizar los valores en la tabla.

En principio alguien ve algun tipo de problema en este razonamiento? Bueno ya sabeis, lo creeis una decision de diseño correcta?
Desde la la aplicacion principal tengo que llamar igualmente a otros procedimientos almacenados de la base de datos. Tendre problemas para entrar con el mismo usuario a traves de dos procedimientos simultaneamente a la misma base de datos?

Ya lo tengo implementado, no os pongo el codigo porque es bastante largo. El problema es que tanto declarando el storedProcedure dentro del main como creandolo dentro del hilo, siempre que voy a acceder al componente tengo un error del tipo access violation y cuando pongo un watch a la variable vale nil justo antes de la ejecucion.

Bueno siento si la exposicion de mi consulta ha sido un poco liosa, aunque espero que alguien me pueda dar su opinion al respecto. Gracias por su interes.;)

droguerman 29-05-2007 16:59:10

dentro de tu execute crea una llamada a un procedimiento que envie tu sp a sql server usando synchronize

Código Delphi [-]
begin
  while true do
  begin
    synchronize(llamarAProcAlmacenado);
  end;
end;

MontarazAE 29-05-2007 17:46:34

Era un error al inicializar la variable
 
Buenas tardes:

Gracias por la atencion pero ya lo arregle. Era un simple error en la creacion de la variable TADOStoredProcedure.
Sigo aceptando opiniones acerca de si os parece una buena decision de diseño para este caso especifico.


La franja horaria es GMT +2. Ahora son las 19:41:04.

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