PDA

Ver la Versión Completa : Procedimiento almacenado o Tarea


Carlex
31-01-2006, 16:16:54
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:


-- 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 !!!