SSIS:如何从 project.params 值参数化 foreach 文件夹循环位置?

SSIS: How to parameterise foreach folder loop location from project.params value?

我有一个 SSIS 项目,我想对其进行参数化以便能够拥有开发、暂存和生产环境。

我开始比较慢,我想参数化一些硬编码的文件路径。

我有一个 foreach 循环容器,它遍历一个目录并对它包含的每个文件执行一些操作。

在Visual Studio中我右击并点击编辑。有四个选项卡:常规、Collection、变量映射和表达式。

在“Collection”下,有一个变量Folder。目前这是硬编码的。我希望它至少是一个包参数,或者最好是一个后跟后缀的项目参数。

添加项目参数后,我该怎么做?

为此,假设我有一个变量:SuperFolderLocation。

我是否可以将变量文件夹的目标更改为@[$Project::SuperFolderLocation] + "\subdirectory"?我是否需要使用表达式来计算变量文件夹的目的地?如果是这样,我需要设置的变量是什么?您可以直接在文件夹目标中放置一个变量,它会解释它吗?

您需要做的第一件事是创建项目参数:

然后在 foreach loop container select collection 中确保“Foreach File Enumerator”在下拉列表中 selected。 在 Property 下拉列表中单击 Expressions 和 select“目录”。 单击 Expression 省略号,这将打开 Expression Builder 然后 select 来自 System Variables 的参数并通过添加子文件夹来完成表达式。 您还可以单击按钮 Evaluate Expression 以确保正确评估路径。