我在Script Component中将File_Name作为ReadOnlyVariable,我希望将其存储为输出,以便稍后在包中使用。在输入和输出中创建输出列(myColumn)。现在尝试将myColumn填充为File_Name
public override void CreateNewOutputRows()
{
MyOutputBuffer.AddRow();
MyOutputBuffer.MyColumn = ??User::FILE_NAME
}
如何将File_Name变量放入MyColumn?
答案 0 :(得分:3)
一旦将脚本组件添加到读取或读/写集合中,脚本组件就允许您访问Variables集合中的SSIS变量。
这样做的语法是
MyOutputBuffer.MyColumn = Variables.FILE_NAME;
脚本任务的不同之处在于您需要访问Value方法,然后将结果值从Object转换为正确的类型。
还有另外两种方法可以将FILE_NAME的值添加到您的数据流中。第二种和更多以SSIS为中心的方法是使用带有类似
的表达式的派生列组件@[User::FILE_NAME]
假设您已将其定义为名为MyColumn的新列,并且类型为DT_WSTR(120)
另一个,假设这是一个平面文件源,是转到高级属性并将文件名包含在列中。
如果您正在寻找令人兴奋的阅读,我在What is the name of current file下发表了关于后一种方法的博客。