使用 SSIS 对具有相同 header 名称的文件进行排序

Sorting files with the same header names using SSIS

我有一个文件夹,里面有很多数据文件。我希望能够遍历这些文件,查看 headers,如果它们具有相同的 headers,则将它们分类到文件夹中].在 SSIS 中可以这样做吗?如果是这样,谁能指出我如何做到这一点的方向?

我将尝试在不写书的情况下尽我所能解释这一点,因为这是一个不太复杂的多步骤过程,但可能很难通过测试来解释。抱歉,我目前无法访问 ssdt,因此我无法提供图像来帮助您。

我会在 VisualBasics.dll 中使用 TextFieldParser class。在脚本任务中。这将允许您将 header 从文件读取到字符串数组中。然后,您可以将字符串数组构建到一个带分隔符的列中,并加载一个 object 变量和一个已填充了两列的数据 table。第一列是文件名,第二列是分隔符 headers。

一旦你有了这个变量,你就可以用这个信息加载一个 sql table。 (如果您想在阅读时将列直接加载到 sql 中,则可选择跳过。您的电话)

获得 sql table 后,您可以根据唯一的 headers 列为该数据集创建一个枚举器。

然后使用带有脚本任务的 foreach 循环任务来枚举唯一的 header 集合。使用 sql 任务分配属于唯一 header 集的文件名。

在脚本循环中通过返回的文件名并应用必要的逻辑将文件移动到相应的文件夹。

这是一个高级概述,因为我假设您对 SSIS 足够熟悉,可以理解完成每个步骤所需的步骤。如果没有,那么当我能够到达我的 SSIS 钻机时,我将能够在当天晚些时候详细说明。