【问题标题】:SSIS-Trigger does not stop package from executingSSIS-Trigger 不会停止包执行
【发布时间】:2012-08-08 06:27:52
【问题描述】:

我正在执行一个 SSIS 包。该包将 excel 文件导入 SQL Server 数据库 2008。 我在 excel 导入期间设置了 FIRE_TRIGGERS 选项。 如果在 INSERT 之后有某个条件,我想停止包的执行。 但是我尝试了很多东西,但我没有成功。我剥离了触发器,只在每次插入时引发错误。但是,SSIS 包并没有停止。它稍后会停止,因为如果发现重复记录,sproc 将无法执行。我希望它在触发器被触发后停止。 谢谢你的帮助

我的触发器代码:

ALTER TRIGGER [dbo].[TrigInsertBill]
ON [Invoice].[dbo].[Bill]
AFTER INSERT 
AS
BEGIN
RAISERROR('This month/year combo exist in the BILL TABLE',16,1)

 END

【问题讨论】:

  • 该触发器将从每个插入中触发,无论它来自何处。这不是触发器的工作。

标签: sql-server-2008 ssis


【解决方案1】:

我个人的建议是将 Excel 文件加载到临时表中。 然后添加一个执行 SQL 任务来检查您要检查的条件并在触发器中引发错误。当文件无法包含特定条件时,这就是我停止包的方式。

如果您想简单地跳过不良记录,那是一个不同的过程。您可以使用条件拆分来识别您不想要的记录并将它们发送到异常表。

【讨论】:

  • 是的,这就是我最终所做的。谢谢你的提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多