zoukankan      html  css  js  c++  java
  • [译]Stairway to Integration Services Level 7

    介绍

    前一个章节我们对SSIS的优先约束做了初步了解,并且实验了MaxConcurrentExecutables 包属性的设置.

    本文将测试“On Success”, “On Completion”, 和“On Failure”几种类型的优先约束.

    约束评估

    On Success

    在此就不重复了,请看上篇文章

    On Completion

    右击优先约束,会显示配置选项:

    image

    图 5

    点击 Completion, 优先约束的先会由绿色变为黑色:

    image

    图 6

    当配置选项改为“On Completion”之后,只要Script Task 1 执行完毕,不管是成功还是失败. 条件约束都会执行 Script Task2 :

    我们来测试下执行失败情况.

    首先,我们来要制作一个错误.打开 Script Task 1 然后点“Edit Script” 按钮.  我们通过 Message Boxes的返回值来控制执行的成功或者失败.以下是VB代码:

    Public Sub Main()
            Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString
            Dim iResponse As Integer = MsgBox("Succeed " & _
    
             sTaskName & "?", MsgBoxStyle.YesNo, sTaskName)
    
            If iResponse = MsgBoxResult.Yes Then
                Dts.TaskResult = ScriptResults.Success
            Else
                Dts.TaskResult = ScriptResults.Failure
            End If
        End Sub

    C# 代码(请叫我雷锋)

    public void Main()
            {
                // TODO: Add your code here
                string sTaskName = Dts.Variables["TaskName"].Value.ToString();
                DialogResult iResponse = MessageBox.Show("Succeed" + sTaskName + "?", sTaskName, MessageBoxButtons.YesNo);
    
                if (iResponse == DialogResult.Yes)
    
                    Dts.TaskResult = (int)ScriptResults.Success;
                else
                    Dts.TaskResult = (int)ScriptResults.Failure;
            }

    Script Task 1执行后弹出的消息框我们选No,这时候任务一就执行’失败’,但是Script Task 2 还是执行了.

    image

    图 8

    image

    图 9

    如果你一直跟着我的文章一步步坐过来,有可能你执行以后看到的类似 Script Task1 的执行信息而看不到图9的界面.之所以这样是因为我们之前直接拷贝了  Script Task 1 然后改名为Script Task 2. 有时候就会发生Task2 执行被拷贝的Task1的情况 . 虽然很少碰到,但是还会发生(这尼玛不是坑爹么..绝对是Bug) . 要解决这个问题.打开Script Task2 随意编辑一下在保存. SSDT就会’刷新’ . 然后执行就正常了. (我是直接关掉SSDT再开项目 o(╯□╰)o) .

    现在让我们从新设置回“On Success”看看效果

    再次测试 On Success

    image

    图 10

    消息框我们选择”No” 按钮, Script Task2 不会继续执行.

    image

    图 11

    On Failure

    现在我们测试 On Failure :

    image

    图 13

    执行包以后,消息框我们选择’NO’按钮. Script Task 2会继续执行. :

    image

    图 14

    当我们选择 Yes的时候 Script Task2 就不执行了.

    image

    图 16

    原文地址: http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/91651/

    Resources: My_First_SSIS_Project_After_Step_7.zip
  • 相关阅读:
    项目架构
    RoadFlow Asp.Net Core工作流配置文件说明
    RoadFlowCore 解决方案介绍及开发概述
    RoadFlow2.7.5 MyController.cs
    RoadFlow开源工作流源码-项目架构分析
    ORACLE EXP-00011:表不存在的分析和解决方案
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY
    OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)
    Swift字典
    [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)
  • 原文地址:https://www.cnblogs.com/haseo/p/3991006.html
Copyright © 2011-2022 走看看