我有一个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]
我收到了电子邮件,但变量始终为空。
答案 0 :(得分:0)
在为Try / Catch之外的邮件分配“收件人”电子邮件地址时,我的脚本生成错误。我移动了Try,错误被捕获并成功通过电子邮件发送。