3

我在数据流任务中有两个合并连接。我想为第二个合并连接的输入设置 IsSorted 属性。但它给出了错误,因为“必须在此转换的两个源上将 IsSorted 属性设置为 True”。以下是它的图像:

图像

更新 1

从下面的答案和评论中,IsSorted可以在数据源 (Excel + OLEDB) 高级编辑器中找到该属性。但是合并连接转换没有这个属性。而且我需要在不使用排序组件的情况下将第一个 Merge Join 输出与 Excel 源合并。

4

1 回答 1

2

更新 2(解决方法)

在合并连接之后添加一个脚本组件,您将在其中添加一个输出列(将用作第二个连接键)。在脚本中,只需将原始键值分配给该列。

然后在脚本输入和输出属性中,将输出IsSorted属性设置为True

例子:

在此处输入图像描述

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

    Output0Buffer.AddRow()
    Output0Buffer.outEmployeeName = Row.EmployeeName
    Output0Buffer.outEmployeeNumber = Row.EmployeeNumber
    Output0Buffer.outLoginName = Row.LogineName


End Sub

更新 1

如果您希望从合并连接转换生成排序输出,那么我建议您点击此链接:

初步答案

IsSorted可以从高级编辑器编辑该属性,

只需右键单击OLEDB Source(或Excel Source如果需要),转到Input and Output Properties,单击输出,您将IsSorted在属性选项卡中找到该属性

在此处输入图像描述

然后你应该SortKeyPosition为列设置

在此处输入图像描述

于 2018-02-26T11:41:45.603 回答