【问题标题】:Sorting files with the same header names using SSIS使用 SSIS 对具有相同标题名称的文件进行排序
【发布时间】:2015-03-13 11:44:13
【问题描述】:

我有一个包含大量数据文件的文件夹。我希望能够遍历文件,查看标题并将它们分类到文件夹中(如果它们具有相同的标题)。在SSIS中可以做到吗?如果是这样,任何人都可以指出如何做到这一点的方向吗?

【问题讨论】:

  • 你在看什么类型的文件。
  • 您是按标题中的数字列还是按内容排序?
  • 当文件头都相同时,我想将文件分组到文件夹中。
  • 为什么是ssis?您可以创建一个小型 c# 应用程序来运行所有文件,读取第一行并对其进行处理。

标签: ssis ssis-2012


【解决方案1】:

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

我将使用 VisualBasics.dll 中的 TextFieldParser 类。在脚本任务中。这将允许您将文件中的标头读入字符串数组。然后,您可以将字符串数组构建到分隔列中,并使用已填充两列的数据表加载对象变量。第一列是文件名,第二列是分隔符标题。

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

一旦你有了你的 sql 表,你就可以根据唯一的 headers 列为该数据集创建一个枚举器。

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

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

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

【讨论】:

  • 哇,谢谢你这么详细的回复。我会去试一试,我对大部分事情都很熟悉。我会试一试。
  • 没问题。如果您对流程有任何问题,请告诉我
猜你喜欢
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
相关资源
最近更新 更多