首页 > 解决方案 > 尝试在 SSIS 中的用户变量“User::ErrorMsg”中捕获错误消息,并在事件处理程序邮件任务中添加变量

问题描述

我在 Eventhandler 邮件任务中使用这个用户变量“User::ErrorMsg”。

但该值始终为空。

   catch (Exception ExMsg)
        {
            string ErrorMsg = null;
            ErrorMsg = ExMsg.GetType().FullName + "<br>" +
               ExMsg.Message + "<br>" + ExMsg.StackTrace;

            Dts.Variables["User::ErrorMsg"].Value = ErrorMsg.ToString();

            throw;

        }

标签: ssis

解决方案


而不是throw;在块的末尾catch,使用:

Dts.TaskResult = (int)DTSExecResult.Failure;

同样,当您的脚本完成且没有错误时,请使用:

Dts.TaskResult = (int)DTSExecResult.Success;

推荐阅读