SSIS如何通过电子邮件发送VB脚本中捕获的错误

时间:2017-01-27 20:54:41

标签: ssis

我有一个SSIS包,在任务失败时发送电子邮件,让我知道任务的名称。我正试图获得更具体的错误。我已将下面的代码添加到我的VB脚本任务中,但我从未收到错误。

我有一个字符串变量设置来保存错误,[User :: EmailError]。我在我的任务中将此变量设置为ReadWriteVariables。我有下面的代码来捕获错误并将其放入变量中。我还将脚本任务属性“FailPackageOnFailure”设置为true。

  Try
        smtpServer.Send(email)
    Catch ex As Exception
        Dts.Variables("EmailError").Value = ex.ToString
        Dts.TaskResult = ScriptResults.Failure
    End Try

我为脚本任务设置了OnError事件处理程序,并使用以下表达式为messagsource发送邮件任务。

"The Send User Email script failed with the following error:"
+@[User::EmailError]

我收到了电子邮件,但变量始终为空。

1 个答案:

答案 0 :(得分:0)

在为Try / Catch之外的邮件分配“收件人”电子邮件地址时,我的脚本生成错误。我移动了Try,错误被捕获并成功通过电子邮件发送。