【问题标题】:Force Package Failure From Send Mail Task in SSIS从 SSIS 中的发送邮件任务强制包失败
【发布时间】:2009-05-06 11:54:39
【问题描述】:

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

Dts.TaskResult = Dts.Results.Failure

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

【问题讨论】:

    标签: sql sql-server-2005 ssis


    【解决方案1】:

    我有一个类似的场景,我决定从脚本任务发送电子邮件,而不是使用发送邮件任务。这是我发现将发送电子邮件和失败包合并为一个步骤的唯一方法。

    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
    

    【讨论】:

    • 我们已经使用从脚本发送电子邮件的方法大约 2 周了,因此我们可以从 SSIS 发送 HTML 电子邮件。在这种情况下,我们只是在寻找一种快速简便的方法来发送电子邮件并用最少的代码使包失败。我认为现在最好的方法是编写一个可重用的程序集来处理这个问题。感谢您的帮助。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2016-08-01
      相关资源
      最近更新 更多