转换的两个输入必须至少包含一个已排序的列,并且这些列必须具有匹配的元数据ssis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换的两个输入必须至少包含一个已排序的列,并且这些列必须具有匹配的元数据ssis相关的知识,希望对你有一定的参考价值。

我创建了一个SSIS包,并使用Merge Join将Dimension与另一个Merge Join的结果相加,我收到以下错误:

转换的两个输入必须至少包含一个已排序的列,并且这些列必须具有匹配的元数据ssis

enter image description here

enter image description here

答案

消息很清楚。 SSIS合并操作要求对要比较的数据进行排序,以便比较更快。

确保使用ORDER BY子句(如果在SQL上)从数据库中检索有序数据,并在属性IsSorted中使用相应的顺序标记列。

如果您无法在源处订购数据,则可以在SSIS中添加排序操作,该操作将对合并列进行排序(在实际合并之前)。在合并之前,您必须在两个流上执行此操作。请注意,使用此组件将阻止数据流,直到所有行都已排序。

一旦您将两个数据流与已排序的列连接,Merge错误消息就会消失。

另一答案

我发现问题与两个排序列的数据类型有关,我只是进行了转换,使它们都成为“INT”,一切都很顺利。

以上是关于转换的两个输入必须至少包含一个已排序的列,并且这些列必须具有匹配的元数据ssis的主要内容,如果未能解决你的问题,请参考以下文章

SQL-union

在数据框中查找包含NA的列的行?

“这些元素中的任何一个或多个,但必须至少是一个”的 XML 模式构造

收到错误“查询输入必须包含至少一个表或查询”。

JSON 文本必须至少包含两个八位字节

to_datetime 值错误:至少必须指定 [年、月、日] Pandas