SSIS获取执行Sql任务结果集对象
我有一个执行sql任务项,它从存储过程中获取多行数据。
在变量表下声明了一个变量ObjShipment
,并在Result set下使用以下信息分配它:
Result Set: Full result set Result Name: 0 Variable Name: User::ObjShipment
我编写了一个脚本任务,将ObjShipment变量分配给ReadOnly,我想知道如何检索其中的数据?
存储的proc返回多行,如Id, ItemId, DateCreated..
但是如何检索它们,如果我只对ItemId感兴趣? 并且因为它返回多行,所以可能有多个ItemId。
我是新的ssis任何帮助将不胜感激!
因此,一般来说,您在SSIS包中使用Object变量作为For Each容器的Enumerator。
- 创建For Each循环容器。
- 将枚举器设置为“For Each ADO Enumerator”。
- 将源变量设置为User :: ObjShipment。
- 在“变量映射”选项卡中将对象中的每个列分配给自己的变量。
- 在For Each Loop容器中,使用这些变量做任何你想做的事情:将它们插入数据库,进行查找和审计等。
如果您打算使用脚本任务,那么您需要做的就是
DataTable dt = new DataTable(); OleDbDataAdapter oleDa = new OleDbDataAdapter(); oleDa.Fill(dt, Dts.Variables["User::objShipment"].Value);
然后像任何旧的DataTable一样使用dt。