【问题标题】:Assigning single resultset to multiple variables in ssis将单个结果集分配给ssis中的多个变量
【发布时间】:2013-09-26 17:24:10
【问题描述】:

我有一个执行 sql 任务,我使用了一个 sql 查询来获取数据,现在这个数据的结果必须传递给三个变量。

所以在Execute SQL TASK中,我已经通过以下方式完成了映射

ResultType ------ FullResultSet
参数映射 --- id
结果集
0 路径
1 个文件
2 类型

变量路径、文件和类型都是字符串类型。

当我运行包 EST 时抛出以下错误。

[执行 SQL 任务] 错误:为 ResultSetType 返回的结果绑定数量无效:“ResultSetType_Rowset”。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    您是否要在变量中保存多行?如果这样做,请不要将结果集设置为“单行”。如果不是,您的变量类型必须是对象类型。

    也许也可以看看这个作为参考。

    http://www.networksteve.com/enterprise/topic.php?TopicId=44489

    【讨论】:

    • 我的选择语句给出了路径、文件名、文件类型值,基于这些值,我需要将文件加载到我的数据库中。所以如果我使用我的变量作为对象类型,我怎样才能得到这些字段的值
    • 不知道有没有办法将变量直接实现到sql语句中,但我认为这是不可能的。您可以使用“foreach 循环容器”循环遍历对象并为每一行执行插入语句。你可以在这里找到做类似工作的参考:sqlservercentral.com/articles/Integration+Services+(SSIS)/64014(这种方式可能会因为多次插入而缺乏性能)
    【解决方案2】:

    拥有 rsFromSql 变量 1、变量 2、变量 3 最快最简单的方法是 sql任务 rsFromSql

    映射变量

    如果您从 sql 任务中只返回 1 行 在sql任务中将结果设置为单行 并按顺序将列映射为变量 0× 1年 2z 干杯

    【讨论】:

      猜你喜欢
      • 2015-08-11
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多