SSIS - 3.变量
跟其他变成语言一样,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.变量的更多相关文章
- 微软BI 之SSIS 系列 - 变量查询语句引起列输出顺序不一致的解决方法
开篇介绍 这个问题来自于 天善BI社区,看了一下比较有意思,因为我自己认为在 SSIS中处理各种类型文件的经验还比较丰富(有一年的时间几乎所有ETL都跟文件相关),但是这个问题确实之前没有特别考虑过. ...
- SSIS 更新变量
在Package中声明一个variable,在package运行的过程中,SSIS如何update Variable? 第一种方法:使用 Script Task 来更新Variable的值 1,创建一 ...
- 灵活运用SQL Server SSIS变量
在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration S ...
- SSIS变量属性中EvaluateAsExpression设置的作用
我们在做SqlServer SSIS包开发的时候,经常会用到SSIS的变量,我们可以使用和修改SSIS变量的值使得SSIS包的逻辑更灵活,如下图所示: 在定义SSIS变量的时候可以使用固定值(如上图中 ...
- SSIS 学习(4):变量和表达式【转】
变量,作为程序员的我们,是一个多么熟悉的概念,从开始学习编程的第一天起,就要了解什么是变量?如何定义一个变量?变量的使用范围等.现在还有必 要在这里大费口舌来讨论“变量”吗?不错,我们今天谈的变量,也 ...
- [译]Stairway to Integration Services Level 13 - SSIS 变量回顾
介绍 在前一篇中我们组合了已经学过的事件冒泡 event bubbling, 日志记录 logging, 和父子模型 Parent-Child pattern 建立了自定义的SSIS包日志记录. 本文 ...
- SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流 首先我们来看看包里面的变量 SSIS ...
- SQL Server SSIS中的变量使用表达式后,就无法更改其值了
在SQL Server SSIS中,我们可以为变量定义初始值和表达式,其实SSIS的变量定义为表达式后我们就无法更改变量的值了,我们来做如下实验: 首先我们在SSIS包中定义一个String类型的变量 ...
- 灵活运用SQL Server2008 SSIS变量
在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration ...
随机推荐
- SSM增删改查
闲着无聊配置一遍SSM以及添加功能增删改查,如下图,其中坎坷也挺多!!! 1.工程如下图.(请忽略红叉,没有错误) 2.首先配置pom.xml文件. <project xmlns="h ...
- 详解MariaDB数据库的触发器
1.什么是触发器 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行 它比数据库本身标准的功能有更精细和更复杂的数据控制能力 2.触发器的作用: 2.1 安全性 可以基于数据库的 ...
- 在服务器上实现SSH(Single Stage Headless)
服务器上ssh实现 写在前面:这只是我在服务器上的环境实现的,仅供参考.要根据自己系统的环境做出修改. ==github源码(https://github.com/mahyarnajibi/SSH)= ...
- 局域网IP地址
A类: 10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址). 127.X.X.X是保留地址,用做循环测试用的. B类: 172.16.0.0---172.31.255 ...
- URL包里的URL.getpath()对路径中空格识别为%20的处理办法
方法(1),使用repaceAll("%20",' ')替换后,只能解决空格问题.但是路径中包含%和中文就不行了. 方法(2),使用URLDecoder.decode(str,&q ...
- VS2017打包注册IE插件及修改IE安全选项设置
前言 最近项目需要在浏览器环境下读取员工身份证信息,要实现网页与硬件设备通信,考虑了几种实现方式: 1.借助ActiveX插件,通过程序库直接与设备通信. 优点:厂家提供了IE插件,开发简单 缺点:只 ...
- Future模式衍生出来的更高级的应用
再上一个场景:我们自己写一个简单的数据库连接池,能够复用数据库连接,并且能在高并发情况下正常工作. 实现代码1: package test; import java.util.concurrent.C ...
- Python语言的PyCharm开发工具的简单使用
1.创建一个新的项目 创建一个目录或者文件夹 设置模板:制作一个常用的,模板 # @Author:lnx# @version V1.0# -*- coding:UTF-8 -*- 搜索/替换快捷键 代 ...
- java写word转pdf
https://blog.csdn.net/csdnFlyFun/article/details/79523262
- CentOs查看某个字符串在某个目录下的行数
如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" ./ ./ : 表示路径为当前目录. ...