填充脚本组件中的输出列

populate output column in script component

我在脚本组件中将 File_Name 作为 ReadOnlyVariable,我想将其存储为输出以便稍后在包中使用。在输入和输出中创建输出列 (myColumn)。现在尝试将 myColumn 填充为 File_Name

public override void CreateNewOutputRows()
{
    MyOutputBuffer.AddRow();
    MyOutputBuffer.MyColumn = ??User::FILE_NAME
}

如何在 MyColumn 中放入 File_Name 变量?

脚本组件允许您访问变量集合中的 SSIS 变量,一旦您将它们添加到读取或 read/write 集合。

这样做的语法是

MyOutputBuffer.MyColumn = Variables.FILE_NAME;

脚本 task 的不同之处在于您需要访问 Value 方法,然后将结果值从 Object 转换为正确的类型。

还有两种其他方法可以将 FILE_NAME 的值添加到您的数据流中。第二种更以 SSIS 为中心的方法是使用派生列组件,表达式如

@[User::FILE_NAME]

假设您已将其定义为一个名为 MyColumn 的新列,并且其类型类似于 DT_WSTR(120)

另一个,假设这是一个平面文件源,是转到高级属性并将文件名作为一列。

如果您正在寻找激动人心的读物,我在 What is the name of current file 下写了关于后一种方法的博客。