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)
-   -   Lanzar procedimiento (https://www.clubdelphi.com/foros/showthread.php?t=9548)

kalimero 26-04-2004 18:50:24

Lanzar procedimiento
 
Hola a Todos.

He creado dos procedimientos almacenados en un servidor SQL Server.
El Primero realiza una serie de actualizaciones sobre unas tablas. Recibe como parametro un codigo y tarda unos 2o o 25 s. en realizar su trabajo.

El segundo recoge todos los codigos sobre los que se va a actualizar mediante una select y a traves de un bucle se llama al primer procedimiento. Actualmente en la tabla de codigos hay solo tres, por lo que el proceso total tarta aprox. un minuto. Cuando está punto de cumplir el minuto, es decir está actualizando el ultimo (mas o menos), se prodeuce un error ("Termino el tiempo de espera").

he pensado que estas actualizaciones se realicen por la noche, cuando en la empresa no hay ninguna actividad.

¿Como le digo a SQL SERVER que me lance el procedimiento?
¿Como puedo solucionar el tema del tiempo de espera?.

Saludos y gracias de antemano

__hector 26-04-2004 19:28:58

Para lanzar el procedimiento, programate una tarea (Task) con un agente, en Management/SQL Server Agent/Jobs.

El timeout que dices que te da la conexion, es propia del SQL Query Analyzer, que puede configurarse en: Tools\Options\Connections\Query Timeout. En el caso de que programes el agente, no creo que ese problema continue.

kalimero 26-04-2004 19:41:22

Gracias Hector. Voy a probar con tus recomendaciones

Saludos

guillotmarc 26-04-2004 19:41:27

Hola.

El mensaje de Tiempo de espera agotado, problablemente te lo estén dando los componentes ADO, así que puedes usar el siguiente Truco de Marteens
http://www.marteens.com/trick36.htm

Respecto a lanzar el procedimiento por la noche, o bien puedes hacer un programa Delphi, que lanze el procedimiento almacenado al llegar a la hora fijada (mediante un TADOStoredProc). O bien puedes crear un Plan de Mantenimiento del SQL Server, para que el propio SQL Agent del SQL Server, te llame al procedimiento. (El Plan de Mantenimiento se crea mediante el Administrador Corporativo de SQL Server, dentro del apartado de Administración, Agente de SQL Server, Trabajos, ...).

Saludos.

guillotmarc 26-04-2004 19:42:54

Se me han adelantado.

kalimero 27-04-2004 09:46:55

Ok Gracias a los dos. Me habeis aclarado el tema.
En cuanto al tema del tiempo de espera si , es cierto que está relacionado co el componente ADO. Ese mismo procedimiento ejecutado desde el analizador de consultas tarda 36 s. y no da ningun problema.
En fin gracias y saludos.

Isaac 27-04-2004 19:22:33

Yo los ejecuto con EXEC


La franja horaria es GMT +2. Ahora son las 09:33:28.

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