我有一个脚本组件,我在其中缓冲所有行,然后进行一些处理,然后我想创建输出行。我尝试在 PostExecute 中访问输出缓冲区对象,但显然这是不可能的?当它点击 AddRow() 时给出“未将对象引用设置为对象的实例”错误。有没有办法做到这一点?

 public override void PostExecute()
{
    base.PostExecute();

    //processing

    foreach(ChartValue cv in chartValues)
    {
        Output0Buffer.AddRow();
        Output0Buffer.usedcl = cv.Centerline;
        //etc
    }
}

最佳答案

感谢凯利的例子。但是就像 H B 所说的 base.Input0_ProcessInput() 为每一行调用 Input0_ProcessInputRow。在我的情况下 Buffer.EndOfRowset() 总是假的。所以我做了更短的代码:

public override void Input0_ProcessInput(Input0Buffer Buffer)
{
    base.Input0_ProcessInput(Buffer); // operate rows in while loop

     //when done collecting all rows, do calculations
    CalculateResults();
}

关于ssis - 我可以在 PostExecute 的 SSIS 脚本组件中向输出缓冲区添加行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44806064/

10-13 05:43