我有一个包含大量数据文件的文件夹。我希望能够遍历文件,查看标题,如果它们具有相同的标题,则将它们排序到文件夹中。这可以在SSIS中做到吗?如果是这样,任何人都可以指出如何做到这一点的方向?
答案 0 :(得分:2)
我将尽力解释这一点,而不是写一本书,因为这是一个多步骤的过程,并不是太复杂,但可能很难通过测试来解释。我很抱歉,但目前我无法访问ssdt所以我无法提供图像来帮助这里。
我会在VisualBasics.dll中使用TextFieldParser类。在脚本任务中。这将允许您将文件头读取到字符串数组中。然后,您可以将字符串数组构建到分隔列中,并使用已填充两列的数据表加载对象变量。第一列是文件名,第二列是分隔符标题。
拥有此变量后,您可以使用此信息加载sql表。 (如果你想在读取它们时直接将列加载到sql中,可以选择跳过。你的调用)
获得sql表后,可以根据唯一标题列为该数据集创建枚举数。
然后使用带有脚本任务的foreach循环任务来枚举唯一的标头集。使用sql任务分配属于唯一标头集的文件名。
在脚本循环中通过返回的文件名并应用必要的逻辑将文件移动到相应的文件夹。
这是一种高级概述,因为我假设您对SSIS足够熟悉,以了解完成每个步骤所需的步骤。如果没有,那么我能够在我能够到达我的SSIS装备的那天晚些时候详细说明。