根据执行SQL任务的输出发送邮件任务

时间:2011-04-05 17:57:46

标签: ssis

如何根据SSIS中执行SQL任务的输出发送电子邮件?如果查询返回任何结果,我想发送电子邮件,否则不应发送电子邮件。

2 个答案:

答案 0 :(得分:5)

您是否要在邮件中发送查询结果?

无论哪种方式,你都可以这样做:

  1. Capture the number of rows returned by your query在变量中
  2. 仅当行数大于零时才使用expression in your precedence constraint发送电子邮件
  3. 如果您想在电子邮件中查询查询结果,那么最简单的事情可能是将它们写入平面文件,然后将该文件作为附件发送。

    或者,使用sp_send_dbmail在存储过程中执行整个操作,只需从包中调用该过程。

答案 1 :(得分:0)

它可能有点笨拙,但您可以将执行SQL任务的结果发送到变量,然后使用基于该变量的For循环容器。将Send Mail任务放在For循环容器中。其中的挑战只是运行发送邮件一次,无论计数是否为1或更多。如果你的计数被保存为bool,那么这可能有用吗?

你可以在其间插入另一个步骤,放入一个脚本任务,它接受计数并返回0或1,然后使用For Loop和发送邮件任务。

就像我说的那样,笨重。