代码之家  ›  专栏  ›  技术社区  ›  pramodtech

SSIS发送多个错误时出错发送电子邮件

  •  1
  • pramodtech  · 技术社区  · 15 年前

    我有一个简单的SSIS包,在这个包中,我在错误事件处理程序上创建了发送电子邮件任务来发送错误详细信息。但我一个错误就收到多封邮件。我找到了俱乐部所有电子邮件的方法,但他们是在vb脚本和我的SQL服务器是64位,这反过来又需要二进制编译热修复安装。 任何建议都将不胜感激。

    4 回复  |  直到 15 年前
        1
  •  12
  •   William Salzman    12 年前

    @拉吉夫瓦尔马

    @[System::SourceID]== @[System::PackageID]
    

    测试错误源是否是主包对象,然后我使用sendmail任务发送错误消息。

    主包-循环任务-数据流任务

        2
  •  2
  •   pramodtech    15 年前

    我找到了解决方案,满足了我发送第一个错误和忽略其余错误的要求。

    用于循环容器,声明值为0的变量计数,并在for循环容器中设置条件计数<1.计数=计数+1。

        3
  •  1
  •   Ajay Meda    7 年前

    1. 创建一个字符串变量来存储错误描述摘要。
    2. 在OnError事件处理程序中,使用表达式任务存储错误描述,如下所示:

    @[用户::错误描述摘要]=@[用户::错误描述摘要]+@[系统::错误描述]

    1. 在包的末尾,添加一个发送电子邮件任务,使用优先级约束编辑器将求值操作设置为“表达式”,并检查

    @[用户::ErrorDescSummary]!=“”

    如果变量不为空,我们将发送包含完整错误摘要的错误电子邮件。

        4
  •  1
  •   vimuth    5 年前

    发送包含所有错误消息摘要的单个邮件的一种方法是:

    1. 在OnError事件处理程序中,使用表达式任务存储错误描述,如下所示:

      @[User::ErrorDescSummary] = @[User::ErrorDescSummary] + @[System::ErrorDescription]
      
    2. 转到事件处理程序中的任务失败,并使用

      variable @[User::ErrorDescSummary]
      
        5
  •  0
  •   rohit sethi    6 年前

    这不起作用,我收到多封错误邮件,其中一个脚本任务发送状态邮件,如作业id status starttime和end time total time。此任务邮件的错误次数与包中发生的错误次数相同