跟其他变成语言一样,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. js 获取 时间戳的三种方法

    new Date() *1 自动数据类型转换为数字 new Date().getTime() Date.now();

  2. hdu2181 简单搜索

    题意: 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市. Input前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第 ...

  3. OpenCV函数学习:alignPtr对齐指针

    转载地址:https://www.tuicool.com/articles/q2QrQr 在某些架构上,只有能被指定数(如4,16)整除的内存地址才能够被访问,否则程序会crash,或者出现错误的结果 ...

  4. 利用Google趋势来预测比特币价格

    预测市场是件极其困难和不可能的事情,特别是预测市场的短期行为.长期预期相对而言简单很多,因为很多事情把时间拉长,都可以预测,比如我预测烧汽油的车最终都会消失,把时间拉长,都是没问题的.但是这种预测没法 ...

  5. Final Cut Pro X for Mac(FCPX专业视频剪辑工具)实用技巧篇!

    Final Cut Pro X for Mac是一款非常强大的专业视频剪辑工具,全球很多人都在用!现在小编给大家带来一些关于Final Cut Pro X for Mac的使用技巧,希望对大家以后的应 ...

  6. 小程序-组件component和模版template的选择和使用

    小程序提供了组件component和模版template那什么时候 选择哪一个使用呢?我总结了一下 template主要是模版,对于重复的展示型模块进行展示,其中调用的方法或者数据data都是需要引用 ...

  7. python第十六天

    一.包 1.什么是包? 一系列模块的集合 2.有什么用? 包通过文件夹来管理一系列功能相近的模块 3.包重点? 包中一定有一个专门用来管理包中所有模块的文件   __init__ 4.什么是包名? 包 ...

  8. python tesserocr ImportError: dll loading failed 一个不常遇见的错误,以及简单的python安装方法~

    废话不多说了,这是写给小白的了. 本人有c#,c/c++开发经验,最近因为偶然的原因,开始接触python,遇到一个棘手的问题,一位朋友在安装tesserocr 包后遇到一个错误,重新安装数次不能解决 ...

  9. Newtonsoft.Json输出Json时动态忽略属性

    一,前言 最近做项目采用Json形式和其他客户端交互,借助于Newtonsoft.Json . 由于业务场景不同,输出的Json内容也不同.要想忽略的属性,可以借助Newtonsoft.Json的特性 ...

  10. 【java】-- java反射机制

    参考文章:https://blog.csdn.net/sinat_38259539/article/details/71799078    https://blog.csdn.net/wanderlu ...