SSIS中变回零的变量

本文关键字:变量 SSIS | 更新日期: 2023-09-27 18:24:58

我是ssis脚本的新手,遇到了一些问题。在ProcessInputRow中,我弹出一条消息,确认我的key等于Row.KeyValue +1,但当我在CreateNewOutputRows中使用该消息时,它又回到了0。我不明白为什么键在另一个函数中变回0。我做错了什么?(这是一个脚本组件)

int count = 0;
int key;
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    count = count + 1;
    if (Variables.KeyValueRowCount == count)
    {
        key = Row.KeyValue + 1;
    }
}
public override void CreateNewOutputRows()
{
    base.CreateNewOutputRows();
    NewKeyBuffer.AddRow();
    NewKeyBuffer.NewKey = key;
}

SSIS中变回零的变量

不知道原因是什么,但解决方法之一可能是在SSIS中定义一个包变量,并通过Dts.Variables["key"].Value访问它。

记住在Script Task 中将其作为读/写变量