【问题标题】:SSIS Script transformation error when using Output0Buffer class使用 Output0Buffer 类时的 SSIS 脚本转换错误
【发布时间】:2014-08-21 16:54:46
【问题描述】:

我正在尝试通过提供用 c# 编写的脚本来帮助我们的 dba,以便他可以在他的 ScriptComponent 中使用它。

我有一个输入文件,逐行处理它并在 Output0Buffer 中创建一行,如 http://www.codeproject.com/Articles/441678/Getting-Started-With-SSIS-Script-transforms?fid=1765989&tid=4344144 中所述

我已经编写了测试方法,它工作正常,但是在将逻辑插入到 Input0_ProcessInputRow 方法中后,如示例中所示,我们收到一个错误,指出以下行中不存在 Output0Buffer

    Output0Buffer.AddRow();
    Output0Buffer.Data = line;
    Output0Buffer.RegionName = regionName; 

我们在这里缺少什么? 谢谢

【问题讨论】:

    标签: c# ssis


    【解决方案1】:

    我找到了发生这种情况的原因。 基本上,在创建输出时,我将其名称显式更改为 Output0Buffer,并且应该将 SynchronousInputID 属性更改为“None”。

    成功了

    这可以通过点击Script Transformation Editor点击类别Inputs and Outputs点击Output 0并在右侧面板中将SynchronousInputId更改为None来完成

    【讨论】:

    • 这取决于您是要为每个输入行创建一行还是多行。如果你想要一行,那么你的新列只是输入列的一部分,不需要 Output0Buffer。如果你想要很多,那么这个答案是正确的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    相关资源
    最近更新 更多