SSIS获取执行Sql任务结果集对象

ove*_*ing 4 c# ssis

我有一个执行sql任务项,它从存储过程中获取多行数据.

ObjShipment在变量表下声明一个变量,并使用以下信息在Result set下分配它:

Result Set:    Full result set
Result Name:   0
Variable Name: User::ObjShipment
Run Code Online (Sandbox Code Playgroud)

我编写了一个脚本任务,将ObjShipment变量分配给ReadOnly,我想知道如何检索其中的数据?

存储的proc返回多行Id, ItemId, DateCreated..,但如何检索它们,如果我只对ItemId感兴趣?并且由于它返回多行,因此可能有多个ItemId.

我是新的ssis任何帮助将不胜感激!

Kyl*_*ale 7

因此,一般来说,您在SSIS包中使用Object变量作为For Each容器的Enumerator.

  1. 创建For Each循环容器.
  2. 将枚举器设置为"For Each ADO Enumerator".
  3. 将源变量设置为User :: ObjShipment.
  4. 在"变量映射"选项卡中将对象中的每个列分配给自己的变量.
  5. 在For Each循环容器中,使用这些变量执行任何操作:将它们插入数据库,执行查找和审计等.

如果您打算使用脚本任务,那么您需要做的就是

DataTable dt = new DataTable();
OleDbDataAdapter oleDa = new OleDbDataAdapter();
oleDa.Fill(dt, Dts.Variables["User::objShipment"].Value);
Run Code Online (Sandbox Code Playgroud)

然后像任何旧的DataTable一样使用dt.