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 assign output 的两种方法

    按一个SQL语句select count(1) from tmp为例. 可以用: 1.存储过程+Output参数 2.SQL语句+result set ------------------------ ...

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

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

  3. System variables, logging and the Execute SQL Task...(zz)

    原文地址http://sqljunkies.com/WebLog/knight_reign/archive/2005/02/27/8187.aspx Here's something useful y ...

  4. C语言task的用法,C# Task 用法

    C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观.代码更简洁了,使用Task来进行操作.可以跟线程一样可以轻松的对执行的方法进行控制. 顺便提一下, ...

  5. Execute Process Task

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

  6. 数据库 SQL 高级用法

    目录 一.INSERT INTO SELECT 用法 二.逻辑控制语句 三.公式表表达式 四.存储程序 五.触发器 一.INSERT INTO SELECT 用法 INSERT INTO SELECT ...

  7. 8 种常见的SQL错误用法

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | db匠 来源 | http://yq.aliy ...

  8. 你知道这 8 种 SQL 错误用法吗?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/J2bw 简介 MySQL在2016年仍然保持强劲的数 ...

  9. Could not execute SQL statement.

    组件 版本 Flink 1.12 Mysql 8.0.22-0ubuntu0.20.04.2 Flink SQl遇到下面的报错 [ERROR] Could not execute SQL statem ...

最新文章

  1. 华为交换机配置基本命令
  2. 精通JavaScript(重点内容笔记)更新中...
  3. .NET获取根目录方法
  4. [Leedcode][JAVA]第[945]题
  5. 一文看懂边缘云在广电行业的应用
  6. map to javaBean
  7. FreeRTOS源码分析与应用开发10:内存管理
  8. Java 用Myeclipse部署项目基础坏境搭建
  9. 英文网站不用愁,必应在线翻译插件解烦忧
  10. 五子棋(机器人随机下棋简单版本)
  11. 斯坦福机器学习教程学习笔记之1
  12. [电机控制话题] 精辟!伺服电机、舵机、步进电机的区别
  13. matlab 打不开excel文件
  14. 代码揭秘:从c/c++的角度探秘计算机系统,【C++】[代码揭秘:从C/C的角度探秘计算机系统]左飞.pdf...
  15. 如何提高思维能力和逻辑能力?
  16. QQ互联第三方登录多应用用户登录打通
  17. Java实现打印输出菱形
  18. matlab cbfreeze,Matlab:如何在同一图中为不同的表面指定不同的色图/色块
  19. 洛谷P1710地铁涨价
  20. android 爱普生打印机,安卓打印 爱普生推出智能iPrint新应用

热门文章

  1. 七雄q传答题答案大汇总
  2. 分布式系统:COPS
  3. JVM CMS 源码分析
  4. 20140412 iphone不完美越狱 无限黑屏解决
  5. 【观察】东风装备:数字化需“从面到点”,选对伙伴“事半功倍”
  6. 如何快速的下载openstack的所有源代码
  7. 手机厂商迎战2022,芯片、折叠屏、高端机哪个才是“重头戏”?
  8. 【1177. 构建回文串检测】
  9. 联想拯救者Y7000p2019解决屏幕亮度不能调节
  10. 软件系统分析-餐饮管理系统