SSIS 2008任务依赖性配置

时间:2015-04-22 04:37:18

标签: sql-server email for-loop ssis

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

我试图配置这个包,所以如果它循环,然后最终成功,我收到一封电子邮件告诉我成功。但是,每次成功时我都不想要电子邮件,只要循环发生然后结束。

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

1 个答案:

答案 0 :(得分: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

在您的包裹中,您可以获取此值并使用它来发送您的电子邮件。