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

在定义SSIS变量的时候可以使用固定值(如上图中的变量Number),也可以是使用表达式(如上图中的变量Sql),使用表达式的时候可以让变量去使用另一个变量的值,比如下图是变量Sql的表达式,其中就使用了变量Number的值:

顺便说一下,本文上面的截图都是基于SqlServer2012的SSIS包,也就是VisualStudio 2010的SSIS包,其实VisualStudio 2008的SSIS包的变量也可以使用表达式,不过VisualStudio 2008需要打开VisualStudio的属性窗口后才能定义SSIS变量的表达式,如下图所示先在SSIS变量窗口选中要使用表达式的变量(变量MID_MonthsOver_SQL)

然后从视图(View)下拉菜单中选中属性窗口(Properties Window)

然后在属性窗口中就可以像在VisualStudio 2010中一样编辑变量的表达式(Expression)了

不管是在VisualStudio 2010还是VisualStudio 2008的SSIS变量上,都有一个设置叫EvaluateAsExpression,这个设置可以在变量的属性窗口(Properties Window)中看到(怎么打开变量的属性窗口上面已经说了),如下图所示:

默认情况下SSIS变量的EvaluateAsExpression是为False的,但是一旦你为SSIS变量使用了表达式(Expression),这个设置就会被自动改变为True,当然你也可以手动改回False,那么EvaluateAsExpression为True和False的时候有什么不同呢?

实际上EvaluateAsExpression这个设置只有在SSIS变量使用表达式(Expression)的时候才会起作用,它可以控制在获取变量值的时候是否动态计算变量的表达式。

举例说明,下图中我们设置了一个String类型的SSIS变量Sql,它的值依赖于Int32类型的变量Number,Number的初始值为0

然后我们在SSIS包的控制流中定义了三个Sequence Container(Sequence Container,Sequence Container 1,Sequence Container 2),每一个Sequence Container都会使得变量Number的值先加1,然后输出变量Sql的值

如果变量Sql的EvaluateAsExpression为True,三个Sequence Container的输出结果为下面所示:

但是如果变量Sql的EvaluateAsExpression为False,这时三个Sequence Container的输出结果变为了下面:

这说明当变量Sql的EvaluateAsExpression为True时,每当在SSIS包中获取变量Sql的值时都会动态地去计算它的表达式(Expression),用表达式的最新结果作为变量Sql的值。而当变量Sql的EvaluateAsExpression为False时,其表达式只会为变量Sql提供一个初始值,每当在SSIS包中获取变量Sql的值时都返回的是这个初始值,而不会去重新计算变量Sql的表达式。所以这就是SSIS变量EvaluateAsExpression这个设置的作用。

SSIS变量属性中EvaluateAsExpression设置的作用相关推荐

  1. java的环境变量classpath中加点号 ‘.’ 的作用

    java的环境变量classpath中加点号 '.' 的作用 "."表示当前目录,就是编译或者执行程序时,你的.class文件所在的目录: 当找.class文件时,先去" ...

  2. 点号java_java的环境变量classpath中加点号 ‘.’ 的作用

    java的环境变量classpath中加点号 '.' 的作用 "."表示当前目录,就是编译或者执行程序时,你的.class文件所在的目录: 当找.class文件时,先去" ...

  3. 二、PCB-layout 中泪滴设置及其作用

    PCB-layout 泪滴设置及其作用 一.为什么要设置泪滴 二.AD设置泪滴的参数及快捷键 一.为什么要设置泪滴 泪滴的作用: 1.避免电路板受到巨大外力的冲撞时,导线与焊盘或者导线与导孔的接触点断 ...

  4. 环境变量的定义、设置及作用

    1. 什么是环境变量 ? 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等.环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程 ...

  5. 计算机系统中io设置的作用是,(山东省计算机文化基础选择题.doc

    (山东省计算机文化基础选择题 山东省计算机文化基础考试指南--选择题及答案 注:蓝色为问题,红色选项为正确答案.如有错误请指正,谢谢! 1. X是二进制数111000101, Y是十进制数457, Z ...

  6. 2.栅格的类中同时设置col-md-* col-sm-*的作用

    1.一般设定成这样的话,在小屏幕上会堆叠在一起 <div class="row"><div class="col-md-4 ">COL1 ...

  7. JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。

    JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用. 今天再次设置java的环境变量,突然发现每次设置都只是按照步骤一步步将其设置完,并不了解为啥要设置,于是上网找了找 ...

  8. 在Java程序设计中,设置环境变量path和classpath的作用分别是什么?

    在Java程序设计中,设置环境变量path和classpath的作用分别是什么? asd79308 10级  分类: 编程开发  被浏览344次  2013.07.22 额,你这问题问的有够" ...

  9. 浅谈CSS3中display属性的Flex布局,关于登陆页面属性框的设置

    声明:本文转发自三里屯柯南的浅谈CSS3中display属性的Flex布局http://www.cnblogs.com/xuyuntao/articles/6391728.html 基本概念 采用Fl ...

最新文章

  1. [原]Java 正则 多子串 匹配 替换
  2. CRUD-员工列表 大体流程
  3. SAP Spartacus 服务器端渲染文件 server.js 和构建后的 main.js 对比
  4. JAVA对象的值与引用
  5. 怎样计算一个整数的位数并把每一位上的数字保存下来
  6. 明略数据获 10 亿人民币 C 轮融资,华兴新经济基金、腾讯领投
  7. ENVI5.3下载和安装
  8. Solidworks工程图预备工作-----模板设置
  9. 国际音标IPA、DJ音标和美国KK音标对照表
  10. 卡内基梅隆计算机专业,美国卡内基梅隆大学计算机学院有几个分专业?
  11. 基于Kinect Azure的多相机数据采集(一)
  12. 可能是最漂亮的Spring事务管理详解
  13. Android基础第四篇
  14. 【c++】设置控制台窗口字体颜色和背景色(system和SetConsoleTextAttribute函数 )
  15. python内存持续增长_Python 进程内存增长解决方案
  16. 彻底的理解:WebService到底是什么?
  17. 使用FFmpeg命令实现音视频转码的备忘录
  18. dhcp服务器显示dns服务器更新挂起,如何动态更新DNS记录
  19. 循环中continue用法
  20. 神经型计算机的前景,人工神经网络发展前景

热门文章

  1. 【翻译】Jquery 1.7 发布
  2. ffmpeg转mp4格式
  3. 如何解决SVN 清理失败
  4. Oracle中“不等于”的使用
  5. Cacls命令使用格式
  6. 记录docker-Skywalking集成es7异常处理
  7. ocp oracle 考试报名_获得Oracle认证对拓展职业前景的影响
  8. deque python_3 . python Collections -- Deque Object
  9. android 本地资源 uri,Android 本地文件选择
  10. 金乡高考成绩查询2021,金乡一中举行2021届高三年级一模成绩分析暨表彰大会!现场颁奖...