SSIS Foreach LoopContainer - 通过电子邮件任务发送结果

时间:2018-03-21 13:14:41

标签: sql sql-server ssis

我有关于在Foreach LoopContainer中发送邮件的问题,它已经嵌套了另一个Foreach LoopContainer

enter image description here

一切正常( namespace Likes { class Program { static void Main(string[] args) { var rollcall = new List<string>(); while (true) { string names = Console.ReadLine(); rollcall.Add(names); var number = rollcall.Count; if (number == 1) { Console.WriteLine(" {0} likes your post.", rollcall[0]); continue; } else if (number == 2) { Console.WriteLine("{0} and {1} likes your post\n Press Enter to Exit", rollcall[0], rollcall[1]); continue; } else if (number == 3) { Console.WriteLine("{0}, {1}, and {2} other likes your post.\n Press Enter to Exit", rollcall[0], rollcall[1], number - 2); continue; } else if (number >= 4) { Console.WriteLine("{0}, {1}, and {2} others like your post.\n Press Enter to Exit", rollcall[0], rollcall[1], number - 2); continue; } } } } } )从数据库中选择不同的区域 - 它工作正常。 1. Select areas SQLTaskStartdate用作select中的时间段 - 工作正常。 Collection中的enddate具有ADO对象源变量区域,枚举模式在第一个表中的行。在变量映射中是我的变量区域 它被传递给执行SQL任务。

  

执行SQL任务 - 作为我定义的SQL查询:

1.st Foreach Loop Container

它转到嵌套的Foreach循环容器,其中是脚本任务 - 它工作正常,它检索数据 `select * from my table, where Date between start date and end date and area = ?`

  

我的问题是

我出于测试目的有两个区域 - 第一个循环只发送第一个区域的行,这是好的,但是对于第二个区域,SSIS一起给我第一个和第二个区域的记录。哪里可以出错?我检索两个区域的两个邮件,这意味着从第一个sql任务看第一个foreach循环容器的参数看起来不错,但是第一个邮件有第一个区域的数据,第二个有第一个和第二个区域的记录。

提前致谢

1 个答案:

答案 0 :(得分:1)

我认为脚本任务用于构建邮件正文或其他什么?它存储在变量中吗?你的邮件任务的表达是什么?无论如何,如果你使用一个变量,你将不得不在每次迭代中转储它 - 否则只要你的循环运行它就会被反复扩展。