0

我需要处理文件夹中的所有文件。像这样的东西:

n 上的 foreach 循环

fileprocess.exe -argument_n filename_n

每个参数都是文件特定的,将从表中检索。需要设计 ssis 包来批量处理文件。foreach 循环似乎非常适合它。

我正在考虑使用查找转换来检索相应的参数。我的问题是

  • 如何将变量@[user::filename]提供给查找转换?
  • 如何将查找输出分配到@[user::argument]
  • 想知道查找转换是否适合使用?

非常感谢!

4

1 回答 1

1

假设您有一个包含文件名和相应参数列的表,实现您的要求的一种方法如下:

  1. 将下图中的组件添加到控制流中。
  2. 在 Foreach 循环中,Enumerator 设置为 Foreach File Enumerator。这些文件是从文件夹中读取的,但您可以使用任何类型的枚举器。
  3. 在循环范围内创建 2 个变量来保存文件名和参数,例如fnamefarg。在 Foreach 循环编辑器的 Collections 选项卡中,将索引 0 分配给变量fname
  4. 在执行 SQL 任务中,编写一个查询来检索给定文件名的参数。将变量fname分配为输入参数,将 Result Set 设置为 Single Row,并将结果分配给变量farg
  5. 在执行进程任务中,传递变量fnamefarg作为可执行文件的参数。 控制流任务
于 2013-08-27T09:23:57.317 回答