跟其他变成语言一样,SSIS包中的变量是用来存储临时值的,变量使得整个SSIS包使用起来更加灵活。比如,我们可以遍历一个文件夹来获取文件夹下的所有文件的名称并把名称存储到一个变量中以便进一步处理。在SSIS包中,变量是区分大小写的,可以分为系统变量和用户定义变量。

  一、系统变量

  系统变量是由SQL Server Integration Services定义的,是用来存储包执行信息和它的对象的。开发者不允许添加新的系统变量,并且也不建议开发者更改系统变量的值,下面是常用的系统变量列表:

查看更多的系统变量,可以访问链接:https://docs.microsoft.com/en-us/sql/integration-services/system-variables?view=sql-server-2017

二、用户自定义变量

用户自定义变量是由开发者来自定义的,可以定义多个。下面按步骤介绍下怎么样自变量定义:

1)打开创建的ETL包,如果没有显示变量窗口,可以单击SSIS->变量来打开。

2)单击“添加变量”按钮来添加变量

3)添加2个变量,分别重命名为V1,V2,范围和数据类型保持默认,更改2个变量的值分别为1,2。点击“删除变量”按钮可以删除不需要的变量。

4)添加变量V3,使用表达式:@[User::V1] + @[User::V2]为变量V3赋值,此时,V3的数据类型和值是禁止修改的,它会根据表达式的结果自动计算出来。

5)Scope中定义了变量适用的范围,默认的Scope是包名称,这就是说变量适用于整个包,就像其他语言中的全局变量。如果你想要一个变量在包中指定的对象中适用,你只需要单击“移动变量”按钮来改变这个变量的适用范围。

6)变量的数据类型有下面这些,默认的数据类型是 Int32.

DBNull是数据库空值,Object是包中功能非常强大的数据类型,它能够用来代表表中的部分记录,图片或列表等等。如果你需要看系统变量或者所有Scope的变量,可以单击变量窗口中的最后一个按钮,弹出变量网格选项对话框如下图所示:

三、变量属性

在变量窗口中选中一个变量,可以在属性窗口中看到该变量的所有属性。单击“视图”->属性窗口或者按F4可以打开属性窗口,下面是变量V1的属性。

下面是属性窗口中可以修改的属性值。

注意:用户和系统是Integration Services提供的两个命名空间,系统的名称空间包含所有的系统变量并且这些系统变量不允许被修改。用户命名空间包含所有用户自定义的变量,我们也可以创建一个新的命名空间,可以自定义些我们需要的变量。

SSIS - 3.变量的更多相关文章

  1. 微软BI 之SSIS 系列 - 变量查询语句引起列输出顺序不一致的解决方法

    开篇介绍 这个问题来自于 天善BI社区,看了一下比较有意思,因为我自己认为在 SSIS中处理各种类型文件的经验还比较丰富(有一年的时间几乎所有ETL都跟文件相关),但是这个问题确实之前没有特别考虑过. ...

  2. SSIS 更新变量

    在Package中声明一个variable,在package运行的过程中,SSIS如何update Variable? 第一种方法:使用 Script Task 来更新Variable的值 1,创建一 ...

  3. 灵活运用SQL Server SSIS变量

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

  4. SSIS变量属性中EvaluateAsExpression设置的作用

    我们在做SqlServer SSIS包开发的时候,经常会用到SSIS的变量,我们可以使用和修改SSIS变量的值使得SSIS包的逻辑更灵活,如下图所示: 在定义SSIS变量的时候可以使用固定值(如上图中 ...

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

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

  6. [译]Stairway to Integration Services Level 13 - SSIS 变量回顾

    介绍 在前一篇中我们组合了已经学过的事件冒泡 event bubbling, 日志记录 logging, 和父子模型 Parent-Child pattern 建立了自定义的SSIS包日志记录. 本文 ...

  7. SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

    原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS ...

  8. SQL Server SSIS中的变量使用表达式后,就无法更改其值了

    在SQL Server SSIS中,我们可以为变量定义初始值和表达式,其实SSIS的变量定义为表达式后我们就无法更改变量的值了,我们来做如下实验: 首先我们在SSIS包中定义一个String类型的变量 ...

  9. 灵活运用SQL Server2008 SSIS变量

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

随机推荐

  1. Linux中普通用户配置sudo权限(带密或免密)

    配置步骤如下: 1.登陆或切换到root用户下: 2.添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers 3.编辑sudoers文件:vi /etc/sudoers 找到这 ...

  2. Mac环境下 elasticsearch-6.0.1 和 elasticsearch-head 完整安装过程

     安装步骤: 安装java jdk 安装elasticsearch-6.0.1 及中文分词 anslysis-ik-6.0.1 安装elasticsearch-head 下载jdk https://w ...

  3. php输出语句 echo print printf print_r var_dump sprintf

    php的几种输出方式: echo 常用的输出语句,例如:echo 'helloworld!'; print() 输出语句,有返回值.例如:print('helloworld!'); 输出成功返回1,失 ...

  4. 面向对象(OOP)基本概念

    面向对象(OOP)基本概念 面向对象编程 —— Object Oriented Programming 简写 OOP 目标 了解 面向对象 基本概念 01. 面向对象基本概念 我们之前学习的编程方式就 ...

  5. Bootstrap-datepicker3官方文档中文翻译---Options/选项(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)

    Options/选项 带“Date”的所有选项都可以处理 Date 对象; 字符串格式化根据 给定的 format 而定; 相对于今天的时间变量, 如 “-1d”, “+6m +1y”等等, 其中有效 ...

  6. 物化视图(materialized view) 实现数据迁移、数据定时同步

    近日公司有一个9i 的Oracle数据库,运行效率低下.想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多.只有三张表.业务压力也不大,就想到了使用物 化视图的方式将数据同步过来. ...

  7. C++智能指针剖析(下)boost::shared_ptr&其他

    1. boost::shared_ptr 前面我已经讲解了两个比较简单的智能指针,它们都有各自的优缺点.由于 boost::scoped_ptr 独享所有权,当我们真真需要复制智能指针时,需求便满足不 ...

  8. golang 使用pprof进行性能调优

    package main import "fmt" func lengthOfNonRepeatingSubStr(s string) int { lastOccurred := ...

  9. virtualenv Mac版

    环境 MAC python 3.6.7 安装python python官网下载3.6.7版本,默认安装 安装完成后检查是否安装成功: python3.6 确认安装目录:which python3.6 ...

  10. linux上部署JMeter

    export JAVA_HOME=/opt/jdk1.8.0_171 export PATH=$PATH:$JAVA_HOME/bin 让环境变量生效 vi /etc/profile 添加下述两行: ...