数据仓库实施之四 在SSIS中使用控制流

控制流介绍

控制流任务

控制流是基于包存在的,分为多个任务来执行。总的来说,控制流中包含了以下9大类任务

  • 数据流
  • 数据库任务
  • 文件和网络任务
  • 执行过程任务
  • WMI任务
  • 自定义逻辑任务
  • 数据库转换任务
  • 分析服务任务
  • 数据库维护任务

在任务与任务之间有优先以及逻辑之分。控制流的执行结果分三种,成功,失败和完成。

逻辑关系分为两种,逻辑或,逻辑与。

甚至我们可以把多个任务用容器包裹起来作为一个单元组

建立动态的包

变量

  • 用户变量
    • 用户自定的变量
    • 默认定义在User范围内
    • 也可以定义在某个指定的范围
  • 系统变量
    • 系统内置的变量根据系统变化
    • 定义在系统级别的变量

参数

  • 项目级别的参数
    • 可以在项目内任意使用
  • 包内的参数
    • 仅可供包内使用

表达式

  • 用于设置动态的值
    • 属性值
    • 按条件筛选
    • 新派生的列
    • 优先级筛选
  • 基于SSIS语法
    • 可以包含参数和变量
  • 可以通过UI的拖拽来完成

使用容器

容器介绍

容器就是用来包含控件,使其达到形成一个统一的单元的目的。容器有4个

  • 任务容器
  • 序列容器
    • 定义一个控制流子集
    • 可以控制多个任务的属性
    • 创建一个范围
  • For循环容器
    • 建立可循环的控制流
    • 类似C#的For循环语法
  • Foreach循环容器
    • 在枚举中逐个循环
      • ADO -- 逐行扫描
      • ADO.NET -- 逐对象
      • File -- 文件夹中的每个文件
      • 变量 -- 数组中的每个变量
      • 单位 -- 属性值中的每个单位
      • 节点列表 -- Xml文档中的每个节点
      • SMO -- SQLServer管理工具中每个对象

一致性管理

配置错误行为

使用配置属性来控制错误行为管理

FailPackageOnFailure

FailParentOnFailure

MaximumErrorCount

使用事务(transaction)

在任务,容器和包中,有个属性叫做TransactionOption。有三个待选项

  • 要求的   ----   建立一个新的事务
  • 支持的   ----   不建立新事物,但是如果父组中有事务,则加入
  • 不支持的   ----   不加入事务

 

 

你可能感兴趣的:(SQL,Server,BI,平台,sqlserver,SQLServer,SQLserver,SqlServer,ssis,任务,数据仓库,数据库)