SSIS 2008 - ForEach 循环查看特定 group/list 文件
SSIS 2008 - ForEach Loop to look at specific group/list of files
我一直在互联网上搜索我认为可以直接回答的问题。希望大家帮忙?
我正在使用 for each 循环来查找特定文件并将它们与文件系统任务一起移动到不同的文件夹。
假设我有 10 个 csv 文件。打电话给列出的 A 到 J
我只想移动 a、e 和 j,但似乎无法让 foreach 循环查找该组。
在枚举器文件文本框中,我尝试插入由各种分隔符分隔的 3 个文件名,但 SSIS 认为它是一个特定文件,并且移动了 3 个中的 none。
有人可以告诉我怎么做吗?只是为了确认,我不使用通配符逻辑只是一组特定的文件名 - 类似于 SQL query
的 IN 函数
提前致谢
now added img - please advise how to slect 3 specific files in the text box with arrow
由于 OP 无法继续处理我的评论,我将更详细地解释一下 -
- 使用
EXECUTE SQL TASK
将所需文件的名称转储到 SSIS 对象中(为此,您可以使用存储过程或 SQL 查询)。之前在变量选项卡中创建一个对象类型变量,将 EXECUTE SQL TASK
中的输出更改为 Full Result Set
并将结果映射到您刚刚创建的对象。现在此对象包含您需要循环访问的文件列表。
- 现在从 SSIS 工具箱中拖放一个 ForEach 容器。它应该配置为
ForEach ADO Enumerator
并将对象映射到它。创建另一个字符串类型的变量,该变量将在 ForEach 容器的每次迭代后保存文件名。也将其映射到 ForEach 容器的 Variables
选项卡中。
- 现在,将用于移动这些文件的
File System Task
放入 ForEach 循环。使用您创建的文件名变量仅移动所需的文件。
现在,如果您不确定在第 1 步中为您的案例使用什么 SQL 查询来获取 3 个文件名 -
SELECT 'A.csv'
UNION
SELECT 'E.csv'
UNION
SELECT 'J.csv'
我一直在互联网上搜索我认为可以直接回答的问题。希望大家帮忙?
我正在使用 for each 循环来查找特定文件并将它们与文件系统任务一起移动到不同的文件夹。
假设我有 10 个 csv 文件。打电话给列出的 A 到 J
我只想移动 a、e 和 j,但似乎无法让 foreach 循环查找该组。
在枚举器文件文本框中,我尝试插入由各种分隔符分隔的 3 个文件名,但 SSIS 认为它是一个特定文件,并且移动了 3 个中的 none。
有人可以告诉我怎么做吗?只是为了确认,我不使用通配符逻辑只是一组特定的文件名 - 类似于 SQL query
的 IN 函数提前致谢
now added img - please advise how to slect 3 specific files in the text box with arrow
由于 OP 无法继续处理我的评论,我将更详细地解释一下 -
- 使用
EXECUTE SQL TASK
将所需文件的名称转储到 SSIS 对象中(为此,您可以使用存储过程或 SQL 查询)。之前在变量选项卡中创建一个对象类型变量,将EXECUTE SQL TASK
中的输出更改为Full Result Set
并将结果映射到您刚刚创建的对象。现在此对象包含您需要循环访问的文件列表。 - 现在从 SSIS 工具箱中拖放一个 ForEach 容器。它应该配置为
ForEach ADO Enumerator
并将对象映射到它。创建另一个字符串类型的变量,该变量将在 ForEach 容器的每次迭代后保存文件名。也将其映射到 ForEach 容器的Variables
选项卡中。 - 现在,将用于移动这些文件的
File System Task
放入 ForEach 循环。使用您创建的文件名变量仅移动所需的文件。
现在,如果您不确定在第 1 步中为您的案例使用什么 SQL 查询来获取 3 个文件名 -
SELECT 'A.csv'
UNION
SELECT 'E.csv'
UNION
SELECT 'J.csv'