且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

串联SSIS中多行中的值

更新时间:2022-03-25 00:34:01

所需的状态是,对于每个ID,所有条形码都将串联在一起。

若要完成此操作,您的数据必须按ID排序。如果文件尚未排序,则需要通过排序任务运行它。

一旦您对数据进行了排序,则需要在Asynchronous mode中添加脚本转换。它将是异步的,因为输入的行数与输出的行数不同。

psuedo代码类似于

If Row.ID <> LastID
    If LastID <> ""
        Output0Buffer.ID = LastID
        Output0Buffer.Barcodes = Barcodes
    LastID = Row.ID
    Barcodes = ""

Barcodes = Barcodes + Row.Barcodes

警告

  • 上面的代码既不是C#也不是VB.NET,但是逻辑应该是健全的
  • 如果您有数十亿行,则此计算机上将需要一些重要的RAM,因为SSIS是内存转换系统。
  • 排序操作和此脚本任务将很慢且占用大量内存,因为它们不能重用内存空间