![]() |
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 |
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. |
Gracias Hector. Voy a probar con tus recomendaciones
Saludos |
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. |
Se me han adelantado.
|
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. |
Yo los ejecuto con EXEC
|
La franja horaria es GMT +2. Ahora son las 13:22:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi