跟其他变成语言一样,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. 2018开源中国最受欢迎的中国软件MyBatis-Plus

    2018开源中国最受欢迎的中国软件MyBatis-Plus 官方网址:https://mp.baomidou.com 中国软件,中文文档 什么是MyBatis-Plus? 进入官方第一句话:为简化开发 ...

  2. vertx模块HAManager高可用

    HAManager public HAManager(VertxInternal vertx, DeploymentManager deploymentManager, ClusterManager ...

  3. TLS详解

    TLS加密通信, 开始使用协商的秘钥进行加密通信 1.服务器也可以要求验证客户端,即实现双向的验证, 2.会话缓存握手过程,为了建立握手的速度,减少协议带来的性能方面的降低和资源方面的消耗,TLS协议 ...

  4. git私有仓库与pycharm联合使用

    文章目录 1 创建git私有仓库和pycharm的使用 1.1 克隆私有仓库到本地 1.2 使用pycharm打开 1.3 添加.gitignore文件 1.4 并将其添加到仓库 1.5 提交和推送 ...

  5. angular2 图片赋值的时候前面自动加 unsafe:xxx 导致图片信息不显示问题

    需要创建一个pipe 代码如下 import { Pipe, PipeTransform } from '@angular/core'; import {DomSanitizer} from '@an ...

  6. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...

  7. RabbitMQ开启服务却无法登录

    我之前无聊之际修改了我的电脑名,后来发现我的rabbitmq服务无法开启,后来我又把电脑名改回去了还是不行,我从网上看了很多教程都没有成功,后来看到了这个方法,出处忘记了,不好意思,发出来记忆一下 包 ...

  8. 获取clock ticks per second

    #include <sys/syscall.h> #include <stdio.h> #include <unistd.h> int main() { print ...

  9. lxml爬取实验

    1.豆瓣 爬取单个页面数据 import requests from lxml import etree #import os url = "https://movie.douban.com ...

  10. Selenium之Selenium IDE

    官方文档:https://www.seleniumhq.org/docs/02_selenium_ide.jsp 1.       Selenium IDE介绍 Selenium IED (Integ ...