2015-04-22 139 views
1

我有一个软件包,在任何ETL发生之前,它会检查源表以确保它们存在。如果它们不存在,它会通过发送邮件任务向我发送电子邮件,然后通过执行sql任务等待30分钟,然后再次通过for循环容器再次尝试。SSIS 2008任务依赖关系配置

我想配置这个软件包,所以如果它循环,然后最终成功,我收到一封电子邮件告诉我成功。但是,我不想在每次成功时收到一封电子邮件,只要循环发生并完成即可。

因此,如果源数据不存在,请不要继续下一个容器,而是给我发一封电子邮件,等待30分钟,然后重试。如果最终出现源表,则继续下一个容器,并向我发送电子邮件。

回答

1

如果我正确理解你的步骤,你有一个Execute SQL Task它检查模式,如果模式不存在发送一封电子邮件,然后等待30分钟,并再次循环检查模式。您可以添加boolean可变说SendSucessEmail可以像这样的东西

DECLARE @SendSucessEmail BIT = 0 

WHILE NOT EXISTS(
SELECT TOP 1 1 
FROM sys.tables where name = 'checktable' 
) 
BEGIN 
SET @SendSucessEmail = 1 
WAITFOR DELAY '00:30:00' 

END 

SELECT @SendSucessEmail AS SucessEmailVariable 

在你的包进行设置,你可以得到这个值,并用它来发送电子邮件。