0

我正在执行一个 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
4

1 回答 1

2

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

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

于 2012-08-07T22:27:52.190 回答