码迷,mamicode.com
首页 > 数据库 > 详细

Execute Sql Task 的Result DataSet如何返回

时间:2015-05-25 18:24:15      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据。

技术分享

例子中使用的数据表代码如下

create table dbo.test
(
code int,
name varchar(10),
txt Nvarchar(10)
)

insert into dbo.test(code,name,txt)
values(1,a,Nb),(2,c,Nd),(3,e,Nf),(4,g,Nh)


1,当Result Set是single row时,需要定义三个变量来接收数据,变量的DataType要和Column的DataType保持一致,并且在Result Set中指定返回的Column和接收的Variable之间的Mapping。在下游组件中,通过变量来引用Execute Sql Task的返回值。

技术分享

技术分享

技术分享

2,当Result Set是Full Result Set时,返回的结果集使用0来代替其名称,返回的结果集存储在一个 Object类型的变量中,这个 OBJECT 类型在内部以集合的形式存在并保存整个查询结果集。

技术分享

技术分享

Result Name是0,将结果集存储在Object的SSIS Variable中。

技术分享

 

3,如何使用Object类型的变量,object类型的变量实际上是一个Dataset,每一行数据都要被提取出来,存放到变量中,才能被其他组件使用,所以必须定义SSIS Variable 来保存数据。

在Foreach Loop 组件中,Enumerator选择Foreach ado enumator,在Ado Object Source Variable列表中选择User::VarObj。

技术分享

 

创建三个变量来存放数据,变量的数据类型要和object中的column的数据类型保持一致,否则ssis 会报错。

技术分享

在Variable Mappings中设置Ojbect的Column和变量的Mapping,index=0,表示的是object的第一个column,使用User::VarCode来存放第一个column的数据,依次类推。

技术分享

 

Execute Sql Task 的Result DataSet如何返回

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4528309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!