sql-server - SSIS 中的变量未在每个循环中更新
问题描述
我正在尝试创建一个简单的项目,我想从给定的网站下载 XML 文件。我已将文件名存储在数据库表中。我在本教程中所做的:在 SSIS 中实现 Foreach 循环逻辑是:
一个。从我的表中读取所有不同的行(我们称之为 XMLTable)
b。将此查询的结果分配给名为的用户变量:nameOfFileToDownload
c。为每个循环容器创建
d。配置为在本地为每一行分配要下载的文件名:nameFileForeachLoop 变量
e。使用 HTTPManager 从连接链接下载文件作为路径,动态文件名来自 nameFileForeachLoop 变量。
F。为虚拟文件创建 XMLFlatFile 连接 - 我在阅读上述教程后假设。
现在的问题是这个循环容器可以工作,但不会单独下载文件 - 仍然是一个最终为空的文件。我的nameFileForeachLoop
变量在每次循环迭代期间都不会更新。更重要的是,我注意到在创建 FLAT FILE 期间,我只有 CSV 和 TXT 扩展名可用。我尝试了很多方法,但没有结果。你能帮我如何下载 XML 文件吗?例如,我有以下指向 XML 的链接:nbp.pl/kursy/xml/c001z180102.xml 这里的变化是这个链接的最后一部分,它带有我从我的 XMLTable 中获得的 XML 扩展名。
我已将组件配置如下:
解决方案
你在正确的轨道上,但需要一些修正。
- 除非您在.CSV或.TXT文件中创建表,否则不要创建和配置平面文件目标连接管理器。在提供的示例中,作者使用动态查询选择数据并将结果存储在动态 txt 文件中。据我了解,这不是你的情况。
- 以下是一些如何在 SSIS 中使用 HTTP 下载和保存文件的示例。下载脚本示例和HTTP 下载不同方法的回顾。
推荐阅读
- node.js - 使用 node.js 显示来自 gcloud 存储桶文件的元数据
- apache-flink - StreamTask.getCheckpointLock 弃用和自定义 Flink 源
- c++ - 如何从派生类访问类的成员 - C++
- flutter - 我想让我的底部导航栏透明
- xlsx - OpenTBS - pb 合并 xlsx
- java - 通过 Firebase 在 Android 应用中进行身份验证:获取用户的名字和姓氏
- r - 分解强制时间序列对象 R
- angular - Explorer 属性不会在 Angular 9 中放大 Google Charts
- tfs - 尝试在 Windows 10 上配置 TFS 代理时出错
- javascript - 使用 Mat datepicker 以多种颜色突出显示日期