如何使用SSIS中的foreach容器遍历完整结果集

时间:2018-02-01 00:52:42

标签: ssis

尝试使用SSIS从excel文件中检索完整的结果集时遇到问题。

我有两个变量

image description

这是控制流程中的仪表板 image description

@CriteriaResult返回ADO Recordset image description

@CriteriaID是我尝试在刚刚返回的对象下循环的变量 image description

我遇到错误:分配给变量“User :: CriteriaID”的值的类型与当前变量类型不同。变量在执行期间可能不会更改类型。变量类型是严格的,除了Object类型的变量。

我的数据是一栏:1,2,3A,3B,3C ......

在线参考告诉我使用脚本任务来更改转换对象(@CriteriaResult),这样我就可以使用它里面的数据了。

我的VBA代码是:

Public Sub Main()    
Dim dt As Data.DataTable    
Dim ds As Data.DataSet = CType(Dts.Variables("User::CriteriaID").Value, DataSet)    
dt = ds.Tables(0)       
Dts.TaskResult = ScriptResults.Success    
End Sub

我可以知道如何修改我的代码以使其有效吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此方法来迭代ADO枚举器: 1.使用数据流任务导入记录集 enter image description here 2.使用ADO Enumarator将ForEach迭代到记录集对象变量 enter image description here 3.每次迭代都会将记录值保存到变量中 enter image description here

这是包截图 enter image description here