VS2019数据流中如何将REST返回的字符串更新到变量?
在VS2019的SSIS数据流中将单个日期字符串更新至变量的方法
完全可以实现,核心是用转换类型的Script Component完成变量赋值,具体步骤如下:
- 先在SSIS包的变量面板创建一个字符串类型变量(比如
User::TargetDate),注意变量作用域要覆盖当前数据流任务(建议设为包级别)。 - 在数据流中,将过滤后的数据源连接到Script Component,选择「转换」类型(不要选源或目标)。
- 双击Script Component进入配置界面:
- 输入列选项卡:勾选你要用来赋值的日期字符串列,设置用法为「只读」。
- 变量选项卡:在「ReadWriteVariables」列表中添加你创建的
User::TargetDate,授予脚本修改权限。 - 脚本选项卡:点击「编辑脚本」,打开脚本编辑器。
- 编写赋值脚本(以C#为例):
在自动生成的Input0_ProcessInputRow方法中,将当前行的日期列值赋值给变量:public override void Input0_ProcessInputRow(Input0Buffer Row) { // 替换DateStringColumn为你实际的日期列名 Variables.TargetDate = Row.DateStringColumn; } - 运行包验证:由于你已经过滤得到单个数据点,该方法只会执行一次,变量会被正确赋值。可以通过变量面板的「在运行时显示变量值」功能,或者后续添加脚本任务输出变量值来确认结果。
注意事项
- 确保数据流输出仅包含一行数据,若有多行,变量会被最后一行的值覆盖。
- 脚本中的列名需与数据流中的列名完全匹配,Input0Buffer中的列名是自动映射生成的。
- 变量的作用域要正确,若仅在数据流任务内部创建,外部任务无法访问该变量。
内容的提问来源于stack exchange,提问作者Jaitsujin
相关产品推荐
相关产品推荐

