2

我正在编写 SSIS 包以将数据从 *.csv 文件导入 SQL 2008 DB。问题是其中一个文件包含 csv 文件中的重复记录,我只想从该源中提取不同的值。请看下图。

复制

不幸的是,生成的文件不在我的控制之下,它归第三方所有,我无法更改它们的生成方式。

我确实使用了查找组件。但它仅根据传入数据检查现有数据。它不检查传入数据中的重复记录。

4

5 回答 5

9

我相信排序组件提供了删除重复行的选项。

于 2011-03-28T19:33:31.593 回答
4

取决于您希望对重复项有多认真。您是否需要记录重复的内容,或者仅删除它们就足够了?排序组件将摆脱排序字段上的重复。但是,dups 可能在其他字段中具有不同的数据,然后您需要不同的策略。通常我将所有内容加载到临时表并从那里清理。我将删除的欺骗发送到异常表(我们必须回答客户提出的很多关于为什么事情与他们发送的不匹配的问题)并且我经常使用一组业务规则(并使用执行 SQl 或数据流任务以强制执行规则)以确定在一个区域存在重复但另一个区域没有重复时选择哪个(当我们只能存储 1 个时说两个业务地址)。我还确保客户知道我们如何确定选择两者中的哪一个。

于 2011-03-28T19:49:42.247 回答
1

使用工具箱中的排序工具,然后单击它。您将获得所有可用的输入列。检查列并更改 sortType 方向,然后检查“删除具有重复排序值的行”。

于 2014-07-15T09:21:58.477 回答
0

按原样从 csv 文件中引入数据,然后在加载后对其进行重复数据删除。调试也会更容易。

于 2011-03-28T19:31:51.833 回答
0

我使用了 QualificationID 和 UnitID 的聚合组件和分组。如果你愿意,你也可以使用排序组件。也许,我的信息可能对其他人有所帮助。

于 2011-03-29T09:33:07.243 回答