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)
-   -   Procedimiento almacenado o Tarea (https://www.clubdelphi.com/foros/showthread.php?t=29737)

Carlex 31-01-2006 16:16:54

Procedimiento almacenado o Tarea
 
Muy buenas, esyot con una duda q no me permite avanzar mi aplicacion, estoy trabajando con delphi 7 y SQL Server 2000, y necesito q se ejecute a las 12pm una instruccion q revise q personas no marcaron tarjeta, pero si la aplicacion no esta abierta no podra ejecutarse, ahora bien lo q me dijeron es q se puede hacer esto dentro del SQL Server lo q no tengo claro es si se usa un trigger o un procedimeinto almacenado o q solucion podria darle...:confused: Si alguien me puede aclarar esto se lo agradezco mucho

Xianto 31-01-2006 18:19:55

En el administrador corporativo del M$SQL, podras ver una opción que dice Administración... dentro, despliegas Agente SQL Server y ahi veras una opción que dice Trabajos.

Ahí puedes programar una tarea que se ejecute cada x tiempo, el que tu quieras. La tarea puede ser un procedimiento almacenado que trabaje sobre la DB o uno que llame a un .exe

Los procedimientos almacenados los puedes crear con comando o bien en el propio Administrador Corporativo, en la DB que elijas y en la sección de Procedimientos Almaceneados...

Los triggers son eventos que se disparan ante determinados sucesos... por ejemplo si en una tabla se ingresa un valor númerico y un campo debes ser rellenado con el 15% o asi, puedes hacer un trigger.

Lo que tu necesitas es hacer un procedimiento almacenado...

Se un poco más especifico sobre los datos y demas y te ayudaremos a hacer el procedimiento.

Saludos !

Carlex 31-01-2006 20:03:02

Gracias Xianto, con razon no encontraba la opcion crei q era dentro d la misma base d datos no dentro de Administracion. ademas d quedarme claro la diferencia entre ambos

Ahora pasando a la aplicacion, es un control d personal q antes q termine el dia debe revisar si todos marcaron o no, entonces si tu me indicas q dentro de las Tareas se puede llamar a un ejecutable con eso tengo resuelto el problema...ahora bien revise las opciones de las Tareas pero no encontre donde se llama a un exe con eso tendria casi todo. Gracias!

Xianto 01-02-2006 20:56:08

Se que es complicado buscar ayuda en el SQL, pero te sugiero que bajes los libros en pantalla actualizados...

Para no dar mucha vuelta, copio y pego uno de los procedimientos que tengo que llaman a un exe... Te sera fácil entenderlo:

Código SQL [-]
-- Genera un archivo XLS en el correspondiente PATH...
-- 
-- Parametro 1 : Query SQL
-- IMPORTANTE: si se utiliza una query con algun texto como: select .... where x='pepe', cambiar las comillas simples por |,
--           ejemplo: select .... where x=|pepe|
-- Parametro 2 nombre del fichero incluyendo el PATH
-- Parametro 3 es un SI, el archivo es comprimido con el mismo nombre, pero extension .ZIP
-- Parametro 4 texto para el body (cuerpo) del correo...
-- Parametro 5 direccion de correo para enviar el informe, sino se pone, pos no se envia
-- *Nota, las direcciones de email pueden ser varias, solo hay que separarlas con punto y coma !!!
CREATE PROCEDURE ali_genera_excel
 @sqlu varchar(3000),
 @path varchar(200),
 @zip char(2)='NO',
 @body varchar(1000)='',
 @mail varchar(200)=''
AS
 Declare @parametros varchar(5000)
 set @parametros='Z:\Root\programas\excel\Exporta.exe '
 set @parametros=@parametros+char(34)+@sqlu+char(34)+' '
 set @parametros=@parametros+char(34)+@path+char(34)+' '
 set @parametros=@parametros+char(34)+@zip+char(34)+' '
 set @parametros=@parametros+char(34)+@body+char(34)+' '
 set @parametros=@parametros+char(34)+@mail+char(34)
 --select @parametros
 exec master..xp_cmdshell @parametros
GO

Saludetes !!!


La franja horaria es GMT +2. Ahora son las 00:02:47.

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