Trigger llamando un exe Personalizado
Publicado por Unomásnomás (36 intervenciones) el 29/12/2008 17:27:23
Que tal, espero puedan ayudarme...
He creado un trigger a una Tabla X que se dispara cuando ocurre el Evento INS y UPD; en el en la parte final de ese trigger llamo un programita exe de mi invención heco en vb6 usando el sgte codigo:
EXEC master..xp_cmdshell @sPahtProgram, no_output
Cuando lo llamo solito me funciona perfecto pero, cuando lo llamo con el codigo completo del trigger se queda pensando y pensando y pensando.. lo curioso es que e programita aparece cargado en la lista de Tareas del windows pero al parecer no termina y no sé porque tampoco.
Les aviso que el programita en vb tambien lo he probado ejecutando solo a él y funciona perfectamente solo que cuando lo llamo desde el trigger se queda pensando y no see porque razon...
Este es el codigo del trigger
CREATE TRIGGER TR_ALERTA ON esami
FOR INSERT, UPDATE
AS
DECLARE
@idExamen int,
@idEquipo int
-- @sPahtProgram varchar(100)
-- SET @sPahtProgram = 'C:ShowByTrigger.exe'
SELECT @idExamen = IDEsa, @idEquipo = IDAbb FROM inserted
IF @idExamen is null --Es xq no ocurrió el evento INS
SELECT @idExamen = IDEsa, @idEquipo = IDAbb FROM deleted
--Con las variables cargadas insertar a la tabla para q posteriormente se elimine en el progr. exe.
INSERT INTO REG_UPDINS
(MaqHost, idExamen, idEquipo) VALUES (HOST_NAME(), @idExamen, @idEquipo)
EXEC master..xp_cmdshell 'C:WINDOWSsystem32vbpSendAlerta.exe', no_output
RETURN
Finalizo diciendo que el programita por el momento lo unico que hace es eliminar el registro generado en la tabla REG_UPDINS desde el trigger. Espero puedan ayudarme
Gracias y Feliz año
He creado un trigger a una Tabla X que se dispara cuando ocurre el Evento INS y UPD; en el en la parte final de ese trigger llamo un programita exe de mi invención heco en vb6 usando el sgte codigo:
EXEC master..xp_cmdshell @sPahtProgram, no_output
Cuando lo llamo solito me funciona perfecto pero, cuando lo llamo con el codigo completo del trigger se queda pensando y pensando y pensando.. lo curioso es que e programita aparece cargado en la lista de Tareas del windows pero al parecer no termina y no sé porque tampoco.
Les aviso que el programita en vb tambien lo he probado ejecutando solo a él y funciona perfectamente solo que cuando lo llamo desde el trigger se queda pensando y no see porque razon...
Este es el codigo del trigger
CREATE TRIGGER TR_ALERTA ON esami
FOR INSERT, UPDATE
AS
DECLARE
@idExamen int,
@idEquipo int
-- @sPahtProgram varchar(100)
-- SET @sPahtProgram = 'C:ShowByTrigger.exe'
SELECT @idExamen = IDEsa, @idEquipo = IDAbb FROM inserted
IF @idExamen is null --Es xq no ocurrió el evento INS
SELECT @idExamen = IDEsa, @idEquipo = IDAbb FROM deleted
--Con las variables cargadas insertar a la tabla para q posteriormente se elimine en el progr. exe.
INSERT INTO REG_UPDINS
(MaqHost, idExamen, idEquipo) VALUES (HOST_NAME(), @idExamen, @idEquipo)
EXEC master..xp_cmdshell 'C:WINDOWSsystem32vbpSendAlerta.exe', no_output
RETURN
Finalizo diciendo que el programita por el momento lo unico que hace es eliminar el registro generado en la tabla REG_UPDINS desde el trigger. Espero puedan ayudarme
Gracias y Feliz año
Valora esta pregunta


0