SSIS脚本任务抓取对象变量内的列

时间:2016-04-21 14:49:14

标签: vb.net vbscript ssis

在我的SSIS包中,我从数据库中选择一行对象变量。然后我将该变量作为只读放入脚本任务中。有没有办法从对象中获取单个列值并将它们放入脚本任务主函数中的变量中以进行一些文本替换?我正在使用VB作为我的脚本。谢谢!

2 个答案:

答案 0 :(得分:0)

将对象变量转换为DataTable。然后,它将公开DataTable的所有属性,您将能够访问列及其值。

答案 1 :(得分:0)

是的,有一种方法,即使你可以拿出完整的表格。 声明对象类型变量说objResult。

使用执行SQL任务(ESQLT)从数据库中获取数据。将结果类型属性设置为ESQLT的“完整结果集”。您也可以使用“单个结果集”,现在就跳过它。

然后转到ESQLT的结果选项卡并用0替换newresultname并使用对象类型变量objResult。

现在将ESQLT任务连接到foreach循环任务。

在foreach循环任务中,转到集合选项卡,并从下拉列表中将foreach循环枚举器设置为ado枚举器。

在那里,你会找到一个下拉列表,选择objResult。

转到下一个选项卡,然后根据选择查询的列名称顺序设置/创建变量。 从0开始到n。

然后在foreach循环容器中拖动一个脚本任务。

设置只读和只写变量并执行您想要的操作。所有列值将逐行输入脚本任务。

注意:您可能需要处理变量数据类型并根据您的数据库处理dbnull值。