SSIS包未从触发器执行

时间:2013-12-12 11:57:50

标签: java sql sql-server-2008 ssis

我有一个before insert触发器,它执行一个SSIS包来执行一些工作。

从SQL Server查询窗口执行时(通过在表中插入一行),它可以正常工作。

但是当从java代码插入时,SSIS包不会被执行。 我真的很困惑,为什么这种奇怪的行为正在发生。任何帮助表示赞赏。

触发码:

USE [GreeF]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[INS_TRG] on [dbo].[MyTrigger] for insert
as 
begin try
Declare @cmd varchar(1000)
declare @FName varchar(100)
select @FName = [FileName] from inserted
select @cmd = 'dtexec /f "\\SOME_IP\packageName.dtsx" /Set "\Package.Variables[User::FileName].Properties[Value]";"'+@FName+'"'
exec master..xp_cmdshell @cmd
print @cmd
end try
begin catch
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;

SELECT 
    @ErrorMessage = ERROR_MESSAGE(),
    @ErrorSeverity = ERROR_SEVERITY(),
    @ErrorState = ERROR_STATE();

raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState)

end catch

0 个答案:

没有答案