我有一个SSIS包为Foreach循环容器中的每个记录发送邮件。在发送电子邮件后,我会向“发送给[email protected]的邮件”中的变量(在脚本任务中)添加一些文本。处理SSIS中的发送邮件任务失败
但是,我还想记录何时电子邮件失败。在发送邮件任务后添加了另一个脚本任务,并将约束更改为“失败”。然后,我将其中一个电子邮件地址更改为无效格式(如“abc”)。当我运行它时,发送邮件任务失败,但没有通过具有失败约束的脚本任务。换句话说,整个软件包因为这个失败而停下来。我尝试过使用FailPackageOnFailure和FailParentOnFailure属性来搞乱,但我仍然无法让它工作。
有没有更好的方式来处理呢?我认为我的方法很简单,但这不是预期的行为(对我来说,无论如何)。
我将不胜感激任何建议或意见。 谢谢!
好主意。我将脚本任务添加到“发送邮件”任务的“OnError”事件中。当我用我的“坏”电子邮件地址运行它时,脚本任务图标变为绿色(表示它已处理)。不幸的是,发送邮件任务仍然会导致程序包失败。对于发送邮件任务,我将FailPackageOnFailure和FailParentOnFailure设置为“False”。感谢您的想法,但我不确定接下来会发生什么(?) – Loki70 2011-03-25 14:37:31
您是否能够在发送邮件任务后使用完成约束(而不是成功或失败),以便程序包继续执行,而不管成功与否特定任务? – grapefruitmoon 2011-03-25 14:48:39
就是这样!我不知道为什么我没有想到这一点。我想我只是习惯了“成功”的约束,我没有正确地思考它。非常感谢您的帮助! – Loki70 2011-03-25 15:34:22