【发布时间】:2018-03-21 13:14:41
【问题描述】:
我有关于在嵌套了另一个 Foreach LoopContainer 的 Foreach LoopContainer 中发送邮件的问题
一切正常 (1. Select areas SQLTask) 从数据库中选择不同的区域 - 它工作正常。 Startdate, enddate 用作选择中的时间段 - 工作正常。
Collection 中的1.st Foreach Loop Container 具有 ADO 对象源变量区,枚举模式 Rows 在第一个表中。在变量映射中是我的变量区域
传递给执行 SQL 任务。
执行 SQL 任务 - 作为我定义的 SQL 查询:
`select * from my table, where Date between start date and end date and area = ?`
然后它转到嵌套的 Foreach 循环容器,其中是脚本任务 - 它工作正常,它检索数据 which are sent via mail Task。
我的问题是
出于测试目的,我有两个区域 - 第一个循环仅发送第一个区域的行,这没关系,但对于第二个区域,SSIS 为我提供了第一个和第二个区域的记录。哪里可能出错?我为两个区域检索了两封邮件,这意味着从第一个 sql 任务到第一个 foreach 循环容器的参数看起来不错,但是第一个邮件有第一个区域的数据,第二个有第一个和第二个区域的记录。
提前致谢
【问题讨论】:
-
听起来您并没有清理循环中的某些内容,但如果没有看到更多细节,则无法猜测它是什么。
-
我想脚本任务是用来构建邮件正文还是什么?它是否存储在变量中?邮件任务的表达方式是什么?无论如何,如果你使用一个变量,你将不得不在每次迭代中转储它 - 否则只要你的循环正在运行,它就会一遍又一遍地扩展。
-
先生们,感谢您的帮助。我已经解决了!邮件正文是在脚本任务中创建的,根据@Tyron78,我已经转储了变量(邮件的标题和正文),现在它可以工作了,谢谢。泰伦,你能把你的评论作为答案吗?我会接受的。
-
很高兴我能帮上忙。感谢您的接受。
标签: sql sql-server ssis