SSIS For Each Loop中未更新变量

时间:2018-05-03 22:37:25

标签: sql-server ssis sql-server-2012

我正在尝试创建一个简单的项目,我想从给定的网站下载XML文件。我在DataBase表中存储了文件名。我在查看本教程时所做的工作:Implementing Foreach Looping Logic in SSIS是:

一个。从我的表中读取所有不同的行(让我们称之为XMLTable)
湾将此查询的结果分配给名为的name变量:nameOfFileToDownload
C。为每个循环容器创建
d。配置为每个行分配localy文件名以下载到:nameFileForeachLoop变量
即使用带有来自nameFileForeachLoop变量的动态文件名的HTTPManager从concate链接下载文件作为路径 F。为虚拟文件创建了XMLFlatFile连接 - 我从上面的教程中读到了。

现在的问题是这个循环容器可以工作,但不能单独下载文件 - 仍然是一个文件,最后是空的。在每次LOOP迭代期间,我的nameFileForeachLoop变量不会更新。更重要的是我注意到在FLAT FILE创建过程中我只提供了CSV和TXT扩展。我尝试了很多方法但没有结果。你能帮我下载如何下载XML文件吗? 例如,我有以下XML链接:nbp.pl/kursy/xml/c001z180102.xml这里的更改是这个链接的最后一部分,我从XMLTable获得了XML扩展。

我已经按如下方式配置了我的组件:

photo1 photo2 photo3 photo4 photo5 photo6 photo7 photo8 photo9

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上,但需要一些修改。

  1. 除非您要在 .CSV .TXT 文件中创建表,否则请勿创建和配置平面文件目标连接管理器。在提供的示例中,作者使用动态查询选择数据并将结果存储在动态txt文件中。据我了解,这不是你的情况。
  2. 以下是一些如何在SSIS中使用HTTP下载和保存文件的示例。 Sample download scriptReview of different approaches to HTTP download