我有一个执行sql任务项,它从存储过程中获取多行数据。
在变量表下声明了一个变量ObjShipment
,并在结果集下将其分配给以下信息:
Result Set: Full result set
Result Name: 0
Variable Name: User::ObjShipment
我编写了一个脚本任务,将ObjShipment变量分配给ReadOnly,我想知道如何检索其中的数据?
存储过程返回多行,如Id, ItemId, DateCreated..
,但如果我只对ItemId感兴趣,如何检索它们呢?并且因为它返回多行,所以可能有多个ItemId。
我是ssis的新人,任何帮助都会受到赞赏!
答案 0 :(得分:7)
所以一般来说,你在SSIS包中使用Object变量作为For Each容器的Enumerator。
如果您打算使用脚本任务,那么您需要做的就是
DataTable dt = new DataTable();
OleDbDataAdapter oleDa = new OleDbDataAdapter();
oleDa.Fill(dt, Dts.Variables["User::objShipment"].Value);
然后像任何旧的DataTable一样使用dt。