SSIS结果集,Foreachloop和Variable

use*_*621 7 sql variables ssis resultset foreach-loop-container

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

我有一个简单的SQL任务.

SELECT Name, email FROM table_name

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

我在这里先向您的帮助表示感谢.

use*_*621 10

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

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

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

  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
    
    Run Code Online (Sandbox Code Playgroud)
  5. Foreach循环任务集合下更改以下内容:

    调查员:Foreach ADO Enomator

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

    在第一个表中选择Rows

  6. 变量映射下的Foreach循环任务使用与SQL查询相同的顺序添加String数据类型的变量.单击"确定"保存并退出.

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

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