Execute SQL Task 第一篇:用法简介

Execute SQL Task 第二篇:返回结果集

Execute SQL Task 第三篇:参数和变量的映射

Execute Sql Task组件是一个非常有用的Control Flow Task,可以直接执行SQL语句,例如,可以执行数据更新命令(update,delete,insert),也可以执行select查询语句,返回结果集,结果集可以是一行,也可以是多行。

一,General 选项卡

1,返回结果集(Result Set)

  1. None:表示不返回结果,在执行Update,delete或insert命令时,使用该选项;
  2. Single row:返回单行结果,可以在Result Set 选项卡中,将结果集返回到1个或多个变量中
  3. Full result set:返回多行结果,结果集存储在object对象中

2,组件执行的SQL命令(SQL Statement)

  • ConnectionType:连接到数据源的链接类型,如果是OLEDB链接,选中OLE DB;
  • Connection:链接字符串
  • SQLSourceType:SQL数据源的类型,共有三个选项:Direct Input,File Connection 和 Variable。Direct Input表示:直接输入SQL命令;FileConnection表示:将SQL命令保存在.sql文件中;Variable表示:SQL命令保存在SSIS的变量中,如果Execute SQL Task执行的SQL命令是动态变化的,使用Variable选项较好;
  • SQLStatement:要执行的SQL语句,根据SQLSourceType的不同,有三种不同的值:SQL语句,.sql文件路径,或SSIS变量;

3,示例:SQLSourceType=Variable

二,Expressions选项卡

SSIS Package的属性,既可以在General Tab中手动配置,也可以在Expressions Tab中配置,将配置属性的值保存到变量中,可以动态控制包的执行,

示例,将SqlStatementSource的值存储在变量中,结果和SqlSourceType=Variable是一样的,只不过实现方式不同,并且SSIS在执行过程中,使用Expressions的属性覆盖General中配置的属性值。

三,Result Set选项卡

如果在General选项卡中,将Result Set设置为Singel Row,可以将结果值存储在变量中

四,Parameter Mapping 选项卡

如果sql命令在执行的过程中需要传递参数,可以在Parameter Mapping 选项卡中进行配置。如果使用的OLE DB 链接,需要使用 ?代表第一个参数,并且在Parameter Mapping 中将parameter name设置为参数的序号,第一个? 的序号是0,即序号从0依次递增

五,返回受影响数据的行数

ExecValueVariable 属性是Task的标准属性。有些Task在执行完成后,会返回输出结果,为了获取Task的输出结果,我们可以定义一个变量,存储输出结果。Task的ExecValueVariable属性就是用来指定存储Task输出结果的变量名。默认属性值是none,表示task的输出结果不会被存储。

Execute SQL Task 返回被更新的数据的行数,我们可以为ExecValueVariable属性指定一个变量,用来接收Task的输出值(Execution value),在下游组件中可以引用该变量,获取 Execute SQL Task 更新的数据行数。

Returns the number of rows affected by the SQL statement(s).The ExecValue is using the @@ROWCOUNT to assign the value of the variable and absent a @@ROWCOUNT the value returned is -1.

示例 Execute Sql Task的ExecValueVariable 用法

1,设计Package的Control Flow

Execute Sql Task的属性:ExecValueVariable的值是变量varCount,该Task执行的SQL语句如下:

insert into dbo.delay_test
VALUES(1),(2),(3) insert into dbo.delay_test
VALUES(2),(3)

Task:insert Data执行的SQL语句是,传入的参数是User::varCount

insert into dbo.dt_test
values(?)

2,查看结果,第一个Task返回的结果是varCount是2,这个结果实际上是@@RowCount,SSIS在执行语句之后,将@@RowCount赋值到Execute SQL Task 属性ExecValueVariable指定的变量中。

SSIS Execute SQL Task 用法的更多相关文章

  1. [转]SSIS Execute SQL Task : Mapping Parameters And Result Sets

    本文转自:http://www.programmersedge.com/post/2013/03/05/ssis-execute-sql-task-mapping-parameters-and-res ...

  2. 微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧

    开篇介绍 Execute SQL Task 这个控件在微软BI ETL 项目中使用的频率还是非常高的,也是大部分入门 SSIS 初学者最早接触到的几个控制流控件. 我们通常使用 Execute SQL ...

  3. Execute SQL Task 参数和变量的映射

    Execute SQL Task能够执行带参数的SQL查询语句或存储过程(SP),通过SSIS的变量(Variable)对参数赋值.对于不同的Connection Manager,在Task中需要使用 ...

  4. Execute Sql Task 的Result DataSet如何返回

    Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据. 例子中使用的数据表代码 ...

  5. Execute SQL Task 如何返回结果数据集

    Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据. 例子中使用的数据表代码 ...

  6. [转]Working with Parameters and Return Codes in the Execute SQL Task

    本文转自:http://msdn.microsoft.com/zh-cn/magazine/cc280502(en-us,SQL.100).aspx SQL statements and stored ...

  7. SSIS中Sql Task 获取系统变量

    原文:SSIS中Sql Task 获取系统变量 执行 SQL 任务使用不同的连接类型时,SQL 命令的语法使用不同的参数标记.例如,ADO.NET 连接管理器类型要求 SQL 命令使用格式为 @var ...

  8. Execute Process Task

    Execute Process Task 用于在Control Flow中执行应用程序,常用于对加密的数据进行解压. 1,RequireFullFileName 属性:是否需要完整的文件路径,如果在F ...

  9. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

随机推荐

  1. centos yum换阿里云源

    阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源.得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源. 阿里云Linux安装镜像源地址:http://mirrors.aliyun ...

  2. BestCoder Round 70

    惨败,不能再嘲笑别人了,否则自己也会像别人那样倒霉 HDU 5615:http://acm.hdu.edu.cn/showproblem.php?pid=5615 求ax^2+bx+c能否拆成(px+ ...

  3. HDU Cow Sorting (树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2838 Cow Sorting Problem Description Sherlock's N (1  ...

  4. flash小游戏在Kongregate上线——BasketBall Master(篮球大师)

    小游戏地址,欢迎上去留言评论.游戏完成度没有达到期望水平,只能算完成了核心玩法吧,一些其他构想来不及实现. BasketBall Master(篮球大师) 这个小游戏很早之前就基本做好了,只因有些细节 ...

  5. java发送邮件..转

    使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) . 你可以在 JavaMail ...

  6. iOS 按钮上的标题设置向左向右对齐的方法

    Button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;//左对齐(UIControlContentHo ...

  7. webpack的配置

    使用webpack工具需要配置一个根目录下的配置文件,文件名默认为webpack.condfig.js,配置文件导出一个模块对象,包含了webpack工具的相关配置参数,这个模块对象将会以参数形式被引 ...

  8. 2016huasacm暑假集训训练五 J - Max Sum

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 ...

  9. Android图片资源

    title: 2016-5-5未命名文件 tags: UI适配,图片资源 grammar_cjkRuby: true --- 概述: 本文整理了Android开发中,图片资源的提供方式和使用方式.包括 ...

  10. 梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访

    梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访    “成功了!”,随着一句欢呼声在阿里巴巴西溪园区传出,Cydia的图标出现在一部iOS9.3.4的iPhone6上并成功运行 ...