从SSIS中的发送邮件任务强制打包失败

时间:2009-05-06 11:54:39

标签: sql sql-server-2005 ssis

有没有办法强制程序包从发送邮件任务失败?我们有一个包,其最后一步是使用Send Mail Task发送失败消息,如果满足某些条件。通常,我们在Mail Task之后直接创建另一个Script Task,它使用代码使包失败:

Dts.TaskResult = Dts.Results.Failure

有没有办法消除脚本任务并直接从发送邮件任务中失败包?

2 个答案:

答案 0 :(得分:3)

我有类似的情况,而不是使用发送邮件任务我决定从脚本任务发送电子邮件。这是我发现组合发送电子邮件和将程序包失败的唯一方法。

Dim Message As MailMessage
Dim Smtp As SmtpClient

Message = New MailMessage("email@domain.com", "email@domain.com", "Packaged Failed", "Package Failed because...")

Smtp = New SmtpClient(Dts.Variables("EmailServer").Value.ToString())
Smtp.Credentials = CredentialCache.DefaultNetworkCredentials
Smtp.Send(Message)

Dts.TaskResult = Dts.Results.Failure

答案 1 :(得分:1)

右键单击任务,将其设置为失败包为true,强制值=失败。 (如果它在容器中,那么你必须使容器失败,然后容器也失败包)。