SSIS结果集,Foreachloop和Variable

时间:2013-12-17 19:33:39

标签: sql variables ssis resultset foreach-loop-container

我遇到了问题,我不知道这是否可行。

我有一个简单的SQL任务。

SELECT Name, email FROM table_name

使用结果集,我试图将它传递给变量并在带有foreach循环的电子邮件任务中使用它,但我没有运气让它工作。如果我只做一列,它可以正常工作。我的问题是多列。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:10)

我想出了自己的问题。我会在这里添加它以防其他人有同样的问题。

  1. 在SQL查询中,第一列应该是您的关键结果。例如我的电子邮件。

  2. 常规下的 SQL任务中,将结果集设置为“完全结果休息”

  3. 结果集下的 SQL任务中,将变量设置为“0”作为结果名称,为电子邮件创建一个变量作为“对象”数据类型列,然后单击确定以保存并退出。示例:email_Ob

  4. 通过转到变量窗口,为其他列创建更多变量作为Object,因为我将其用于电子邮件任务,我需要将Object从Object转换为String,所以我需要为每个变量创建另一个变量

    示例:

           **Variable Name**       **Datatype**
               email_Ob                Object
               Name_Ob                 Object
               email_St                String
               Name_St                 String
    
  5. Foreach循环任务集合下更改以下内容:

    枚举器:Foreach ADO Enomator

    ADO对象源变量:选择键变量(email_Ob)

    在第一个表格中选择

  6. <变量映射下的
  7. Foreach循环任务字符串数据类型的变量添加到与SQL查询相同的顺序。单击“确定”保存并退出。

  8. 现在,您可以在 Foreach循环中添加电子邮件任务,并将这些字符串变量用作电子邮件的一部分,或者您可以将其用于任何其他任务。

  9. 希望得到这个帮助,如果您有任何问题,请随时提出。这样,我就可以根据需要添加更多列。