我有2个excel源数据流,在excel源上我将IsSorted属性设置为true,并且SortKeyPosition在其中一列上设置为1,每个流进入一个同步脚本组件,为某些列分配值列然后两个输出都转到合并连接任务。
合并组件抱怨因为输入没有排序,当我查看脚本组件输出的元数据时,我可以看到为列设置为1的sortKeyPosition设置,所以我认为它可能是IsSorted属性要在脚本任务中重置输出,有没有办法将其设置为true?
我尝试过高级编辑但没有运气。
答案 0 :(得分:3)
您的数据实际上必须进行物理排序才能使合并正常工作,只需设置is sorted属性实际上不会对数据进行排序,它只是为已经排序的下游组件提供提示。
您可以通过在两个组件之间放置一个排序运算符来解决此问题,这将确保数据实际上已正确排序。有关更多详细信息,请查看以下内容:
答案 1 :(得分:1)
这可能会有所帮助 http://liguoliang.com/2012/ssis-set-issorted-property-for-the-source-of-mergejoin/
两个来源都必须按同一列进行排序。 - 右键单击源 - 转到高级编辑器 - 将源IsSorted属性设置为True - 将列的排序位置设置为1,然后设置为2,然后设置为3 ...
答案 2 :(得分:0)
我能够找到问题,将SortKeyPosition设置为1的列作为读/写列添加到脚本组件,当我从脚本组件的输入列中删除它时,合并连接组件将输入识别为已排序!