SSIS 2008 任务依赖配置
SSIS 2008 task dependency configuration
我有一个包,在任何 ETL 发生之前它会检查源表以确保它们存在。如果它们不存在,它会通过发送邮件任务向我发送一封电子邮件,然后通过执行 sql 任务等待 30 分钟,然后通过 for 循环容器再次尝试。
我正在尝试配置此程序包,因此如果它循环,然后最终成功,我会收到一封电子邮件,告诉我成功了。但我不希望每次成功时都收到一封电子邮件,只要循环发生然后结束。
因此,如果源数据不存在,请不要继续下一个容器,而是给我发送电子邮件,等待 30 分钟,然后重试。如果最终出现源表,则继续下一个容器,并给我发一封电子邮件。
如果我正确理解了您的步骤,您有一个 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
在您的包裹中,您可以获得此值并使用它来发送您的电子邮件。
我有一个包,在任何 ETL 发生之前它会检查源表以确保它们存在。如果它们不存在,它会通过发送邮件任务向我发送一封电子邮件,然后通过执行 sql 任务等待 30 分钟,然后通过 for 循环容器再次尝试。
我正在尝试配置此程序包,因此如果它循环,然后最终成功,我会收到一封电子邮件,告诉我成功了。但我不希望每次成功时都收到一封电子邮件,只要循环发生然后结束。
因此,如果源数据不存在,请不要继续下一个容器,而是给我发送电子邮件,等待 30 分钟,然后重试。如果最终出现源表,则继续下一个容器,并给我发一封电子邮件。
如果我正确理解了您的步骤,您有一个 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
在您的包裹中,您可以获得此值并使用它来发送您的电子邮件。