一、优先约束和执行逻辑

  任务和容器是SSIS中的可执行文件,一个优先约束连接着两个可执行文件:优先的可执行文件和约束的可执行文件,如下图。

  

  它的执行逻辑如下图:

  1)先执行优先可执行文件

  2)判断优先约束的结果是否为真

  3)若为真,则执行约束可执行文件,否则结束进程

  

  二、优先约束的设置

  优先约束的判断结果取决于优先的可执行文件执行时的返回结果是否与优先约束的设置或表达式结果相匹配。一个可执行文件的执行结果可以是成功或者失败。优先的可执行文件可以选择3种执行结果:成功、失败和完成。下面是优先约束的设置及对应的优先可执行文件执行的返回结果。

  aaarticlea/png;base64,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" alt="" />

三、下面实际操作一下

1)创建并打开一个SSIS的空白包,定义变量V,数据类型为int32,默认值为1。

   2)拖拽一个脚本任务到设计区域,重命名为“Source”,然后渎复制这个脚本任务并重命名为“Destination”,然后使用优先约束连接,如下图。

  

  3)执行包,可以看到执行成功了。

  

  4)单击“停止调试”按钮关闭执行,打开脚本任务“Source”和“Destination”后可以看到里面的代码。

  5)修改脚本任务“Source”中95行的代码如下。

    Dts.TaskResult = (int)ScriptResults.Failure;

  6)再执行包,可以看到执行错误。这是以为“Source”返回的是“失败”,而优先约束定义的是执行成功后继续,这样,包执行完“Source”任务后就会停止执行。

  

  7)在绿色的线上右键,然后“失败”。

  

  8)再次执行包,可以看到“Destination”任务执行成功了,这是因为“Source”返回的失败与优先约束中的设置匹配。

  

  9)上图红色的箭头线上右键->选择“编辑...”->打开优先约束编辑器。

  在约束选项中,计算操作中包含一下4种:

    • 约束
    • 表达式
    • 表达式和约束
    • 表达式或约束

  

  10)选择“表达式和约束”->单击表达式右侧的“...”打开表达式编辑器->写入表达式"@[User::V]==1"后单击OK。

  

  11)执行包,"Destination"执行成功。这是由于表达式和约束返回的都是True。图中“fx”表达优先约束中包含有表达式。  

  12)右键红色的线->选择“Success”->将变量V的值改为2,执行包,“Destination”没有执行,因为表达式@[User::V]==1返回的结果是False。

  

  13)打开优先约束编辑器->修改约束条件为“表达式或约束”。

  

  14)再次执行包,可以看到“Destination”执行成功了,因为约束和表达式是“或”的关系(True || False = True)

SSIS - 5.优先约束的更多相关文章

  1. [译]Stairway to Integration Services Level 7 - SSIS 工作流管理中级

    介绍 前一个章节我们对SSIS的优先约束做了初步了解,并且实验了MaxConcurrentExecutables 包属性的设置. 本文将测试“On Success”, “On Completion”, ...

  2. 微软BI 之SSIS 系列 - Precedence Constraint 详解优先约束的使用

    开篇介绍 Precedence Constraint 优先约束 - 在控制流中使用,用来链接控制流中各种 Task,Container,并且要求满足一定的条件才能执行相关联的 Task 或者 Cont ...

  3. SSIS - 6.序列容器和优先约束

    一.多样的优先约束(看例子) 1)打开一个空白的SSIS包,拖拽4个脚本任务到设计面板上,重命名后连接起来,如下图所示. 2)执行包,可以看到任务执行成功.之后我们改变C和D之间的优先约束为“失败”. ...

  4. SSIS Design3:并发执行

    1,利用优先约束来并发处理数据,Data Flow Task 和 Data Flow Task 1 是并发执行的,而 Data Flow Task2 必须等到 Data Flow Task 和 Dat ...

  5. 灵活运用SQL Server SSIS变量

    在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration S ...

  6. 第十三篇 Integration Services:SSIS变量

    本篇文章是Integration Services系列的第十三篇,详细内容请参考原文. 简介在前一篇我们结合了之前所学的冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.在这一篇,我们将 ...

  7. SSIS 学习(4):变量和表达式【转】

    变量,作为程序员的我们,是一个多么熟悉的概念,从开始学习编程的第一天起,就要了解什么是变量?如何定义一个变量?变量的使用范围等.现在还有必 要在这里大费口舌来讨论“变量”吗?不错,我们今天谈的变量,也 ...

  8. [译]Stairway to Integration Services Level 8 - SSIS 工作流管理高级

    介绍 在前两个章节我们,建立了一个新的SSIS包,简单的使用了一下scripting还有优先约束,并且测试了MaxConcurrentExecutables 属性.  同时实验了  “On Succe ...

  9. [译]Stairway to Integration Services Level 6 - SSIS 工作流管理基础

    简介 在之前的章节中,我们学习了增量载入数据. 本文中.我们通过优先约束(Precedence Constraints)来管理SSIS的工作流. 添加一个SSIS包 图 1 将新建的Package1. ...

随机推荐

  1. 【原创】大叔经验分享(51)docker报错Exited (137)

    docker container启动失败,报错:Exited (137) *** ago,比如 Exited (137) 16 seconds ago 这时通过docker logs查不到任何日志,从 ...

  2. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)”

    https://stackoverflow.com/questions/29188789/eclipse-mac-os-x-debug-error-fatal-error-in-native-meth ...

  3. app个推(透传消息)

  4. pads layout 自动打地孔

    对于PCBLayout来说,后期处理也是一项费时操作,比如为了让板子耦合的更好,会在板子空旷位置打上很多地过孔.“自动打地孔”则会让你省时又省心,一不小心就提前了工期哦,哈哈! 一.下面打开一个简单的 ...

  5. 将已经存在的异步请求callback转换为同步promise

    由于js是单线程执行,为防止阻塞,会有很多异步回调函数callback,嵌套层次多了,可读性就差了很多.随着社区的发展,出现了promise.我们来将一些常见的回调函数做修改,变成promise的链式 ...

  6. Caused by: java.lang.IllegalStateException: RedisConnectionFactory is required

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisTemplat ...

  7. 使用Windows Service Wrapper快速创建一个Windows Service 如nginx

    前言 今天介绍一个小工具的使用.我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我 ...

  8. GLSL ES 中的存储变量修饰符(const/attribute/uniform/varying/in/centroid in/out/centroid out)

    GLSL ES 3.00 中支持的存储变量修饰符 变量名称 作用 示例 const 编译过程常量,或者函数的只读参数 const vec3 zAxis = vec3 (0.0, 0.0, 1.0); ...

  9. 4、Nginx安装与配置

    一.简介 Nginx官网:http://nginx.org/ Nginx(发音同engine x)是一个异步框架的 Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由 Igor ...

  10. C#实现视频监控客户端onvif协议一

    前言 最近做的项目是监控方面的,需要对接各种摄像头,之前的方案是把各个厂家的SDK都集成到系统中,然后让用户进行切换,后来知道了Onvif (自行百度具体概念)这个东西.原来早就有人一统江湖了. on ...