gpt4 book ai didi

c# - SSIS获取Execute Sql Task结果集对象

转载 作者:太空狗 更新时间:2023-10-30 00:41:53 33 4
gpt4 key购买 nike

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

在变量表下声明了一个变量ObjShipment,并在结果集下赋值给它,信息如下:

Result Set:    Full result set
Result Name: 0
Variable Name: User::ObjShipment

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

存储过程返回多行,例如 Id、ItemId、DateCreated..,但是如果我只对 ItemId 感兴趣,我该如何检索它们呢?由于它返回多行,因此可能有多个 ItemId。

我是 ssis 的新手,如有任何帮助,我们将不胜感激!

最佳答案

所以一般来说,您在 SSIS 包中使用对象变量作为 For Each 容器的枚举器。

  1. 为每个循环容器创建一个。
  2. 将枚举器设置为“针对每个 ADO 枚举器”。
  3. 将源变量设置为 User::ObjShipment。
  4. 在“变量映射”选项卡中将对象的每一列分配给它自己的变量。
  5. 在 For Each 循环容器中,使用这些变量做任何您想做的事情:将它们插入数据库、进行查找和审计等。

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

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

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

关于c# - SSIS获取Execute Sql Task结果集对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218451/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com