使用 SSIS 导出具有有限记录集的 XML 个文件

Exportin XML files with limited record set with SSIS

我有 table +2000 行。每行代表我设法生成的 XML 文件中的一个实例:

输出:

需要一次 select 500 行,生成 XML 并将其作为文件保存到 selected 文件夹中。文件的命名应该是动态的,例如。 file_name_20171128165412 和下一个 file_name_20171128165520

尝试使用具有可变参数的 For each 循环来解决,但没有正确解决 - 还需要保存和命名 XML 文件的想法。

我不经常使用 for 循环,但你可以这样做:

设置以下变量:

loopcounter int set initial value = 0
rowsprocessed int set initial value = 500
sql string
  1. 添加一个 for 循环容器
  2. 将 eval 表达式设置为@rowsprocessed <500(这将在处理少于 500 条记录时进行最后一次循环
  3. 将赋值表达式设置为@loopcounter = @loopcounter +1
  4. 将表达式赋给sql到:

    ";以cte为 ( select *,ROW_NUMBER() over (order by [主键]) rn 来自 [你的 table] ) select * 来自cte 其中 rn 在 " + cstr(@loopcounter*500+1) +" 和 "+cstr((@loopcounter+1)*500)

  5. 之间
  6. 使用@sql 作为提取查询

  7. 将行计数添加到数据流并将值分配给已处理的行。

希望对您有所帮助。