Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在脚本组件中填充输出列_C#_Ssis_Etl - Fatal编程技术网

C# 在脚本组件中填充输出列

C# 在脚本组件中填充输出列,c#,ssis,etl,C#,Ssis,Etl,我在脚本组件中将文件名作为ReadOnlyVariable,并希望将其存储为输出,以便稍后在包中使用。在输入和输出中创建输出列(myColumn)。现在尝试将myColumn作为文件名填充 public override void CreateNewOutputRows() { MyOutputBuffer.AddRow(); MyOutputBuffer.MyColumn = ??User::FILE_NAME } 如何将File_Name变量放入MyColumn?将SSIS

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

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

如何将File_Name变量放入MyColumn?

将SSIS变量添加到读取或读取/写入集合后,脚本组件允许您访问变量集合中的SSIS变量

这样做的语法是

MyOutputBuffer.MyColumn = Variables.FILE_NAME;
脚本任务的不同之处在于,您需要访问Value方法,然后将结果值从对象强制转换为正确的类型

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

@[User::FILE_NAME]
假设您已将其定义为一个名为MyColumn的新列,并具有类似于
DT_WSTR(120)

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


我在博客中介绍了《如果你想读惊险读物》中的后一种方法。

你的问题不清楚。什么是文件名?什么是MyColumn?“将此存储为输出”是什么意思?问题现在已编辑。