SSIS 属性:ExecValueVariable
整理SSIS 组件的属性解释及其用法
一,ExecValueVariable属性
有些Task组件执行完成之后,会产生输出结果,称作Execution Value,例如,Execute SQL Task在执行完成之后,会返回受影响的数据行数。Task组件的Execution Value可以通过属性ExecValueVariable来获取。
属性ExecValueVariable指定存储Execution Value的变量名,属性的默认值是none,表示task的输出结果不会被存储到变量;创建一个变量,并将变量名赋值给该属性,表示在Task执行完成之后,SSIS将Task的输出结果赋值给该变量。
示例,在Execute SQL Task中执行更新语句,获取受影响的数据行总数
update dbo.dt set c1=5
1,创建一个变量VarInt,用于保存更新的数据行数量

2,设置Execute SQL Task的属性ExecValueVariable,选择用户创建的变量User:VarInt

3,执行Package,在Watch调试窗口中查看变量的值

4,附上控制流的Task组件的执行值描述

二,ValidateExternalMetadata属性
ValidateExternalMetadata属性,指定该组件是否在设计时(design-time)验证外部输入数据源的元数据,默认情况下,该属性的值是True,因此,在设计Package时,打开Package,添加组件或者运行包,SSIS都会链接到外部数据源,验证数据源输入列的元数据。当该属性值设置为False时,SSIS延迟到运行该组件时才验证外部数据源的元数据。在设计时,SSIS 组件会缓存外部数据源的元数据,不会实时更新缓存中的元数据。

大多数SSIS组件,在跟外部系统(例如,Lookup转换,数据源/目的组件)交互时,都会获取外部列的元数据,并把这些元数据会缓存到Package文件(.dtsx)中。在设计阶段,组件会自动验证缓存的元数据,当和底层(underlying)的数据源不同时,组件会返回一个特殊的状态VS_NEEDSNEWMETADATA,SSIS引擎触发元数据刷新进程,刷新缓存,保证底层元数据和缓存的元数据相同。当在运行阶段时,如果缓存的元数据和底层的数据源不同,这会导致Package运行失败。
During the Validation phase, a component is supposed to check to make sure that the cached metadata in the package is still in sync with the underlying table/view/query. If there is a mismatch, the component returns a special status (VS_NEEDSNEWMETADATA). When this happens at design-time, SSIS triggers a metadata refresh by calling ReinitializeMetadata(). At runtime, this results in an error.
因为,元数据的验证可能是一个非常耗费时间、耗费资源的操作,因此,用户可以在设计阶段禁用 ValidateExternalMetadata 属性,提高Package的设计效率。
参考文档:
Have you used the ExecutionValue and ExecValueVariable properties?
SSIS 属性:ExecValueVariable的更多相关文章
- SSIS 组件属性整理
整理SSIS 组件的属性解释及其用法 一,ExecValueVariable属性 有些Task组件执行完成之后,会产生输出结果,称作Execution Value,例如,Execute SQL Tas ...
- SSIS Execute SQL Task 用法
Execute Sql Task组件是一个非常有用的Control Flow Task,可以直接执行SQL语句,例如,可以执行数据更新命令(update,delete,insert),也可以执行sel ...
- SSIS 学习(6):包配置(上)【转】
Integrartion Services 包实际上就是一个对象属性的集合,在前面我们开发的所有 Integration Services包,其中的变量.属性,比如:数据库链接.同步文件目录等,我们都 ...
- jqu
1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...
- SSIS变量属性中EvaluateAsExpression设置的作用
我们在做SqlServer SSIS包开发的时候,经常会用到SSIS的变量,我们可以使用和修改SSIS变量的值使得SSIS包的逻辑更灵活,如下图所示: 在定义SSIS变量的时候可以使用固定值(如上图中 ...
- SSIS Component的ValidateExternalMetadata属性
ValidateExternalMetadata Property Indicates whether the component validates its column metadata agai ...
- SSIS的DelayValidation属性
一,DelayValidation Property true if validation of the package is delayed until run time. false if the ...
- 利用SSIS的ForcedExecutionResult 属性 和CheckPoint调试Package
1,ForcedExecutionResult 强制一个package或task执行的结果,共有四种值 None,Success,Failure,Completion,默认值是None,表示不强制返回 ...
- [转]SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性
本文转自:http://www.cnblogs.com/tylerdonet/archive/2011/05/20/2052306.html 在上一个导入列这个例子中我们创建一个实际的表来存储文件路径 ...
随机推荐
- 【探索】在 JavaScript 中使用 C 程序
JavaScript 是个灵活的脚本语言,能方便的处理业务逻辑.当需要传输通信时,我们大多选择 JSON 或 XML 格式. 但在数据长度非常苛刻的情况下,文本协议的效率就非常低了,这时不得不使用二进 ...
- mac osx 安装redis扩展
1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...
- 8.仿阿里云虚拟云服务器的FTP(包括FTP文件夹大小限制)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 原文:http://dnt.dkill.net/Ar ...
- 【Win 10 应用开发】启动远程设备上的应用
这个功能必须在“红石-1”(build 14393)以上的系统版中才能使用,运行在一台设备上的应用,可以通过URI来启动另一台设备上的应用.激活远程应用需要以下前提: 系统必须是build 14393 ...
- DDD初学指南
去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...
- Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现
前言: 前面分析了APP的现状以及业务组件化的一些探讨(Android业务组件化之现状分析与探讨),以及通信的桥梁Scheme的使用(Android业务组件化之URL Scheme使用),今天重点来聊 ...
- Nested Loops join时显示no join predicate原因分析以及解决办法
本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...
- [原] KVM 虚拟化原理探究(4)— 内存虚拟化
KVM 虚拟化原理探究(4)- 内存虚拟化 标签(空格分隔): KVM 内存虚拟化简介 前一章介绍了CPU虚拟化的内容,这一章介绍一下KVM的内存虚拟化原理.可以说内存是除了CPU外最重要的组件,Gu ...
- Android中Activity的四大启动模式实验简述
作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握.今天我们就来通过实验演示,来帮助大家理解Activ ...
- centos7+mono4.2.3.4+jexus5.8.1跨平台起飞
很早之前就开始关注.net跨平台,最近正好测试了下用EF6连接mysql,于是就想直接把网站扔进Linux.查了很多资料,鼓捣了两个晚上,终于成功. 这里我使用的是budgetvm的1G openvz ...