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 在上一个导入列这个例子中我们创建一个实际的表来存储文件路径 ...
随机推荐
- 从RPC开始(一)
这是一篇关于纯C++RPC框架的文章.所以,我们先看看,我们有什么? 1.一个什么都能干的C++.(前提是,你什么都干了) 2.原始的Socket接口,还是C API.还得自己去二次封装... 3.C ...
- 完美判断iframe是否加载完成
var iframe = document.createElement("iframe"); iframe.style.width = "265px"; ifr ...
- 如何快速优化手游性能问题?从UGUI优化说起
WeTest 导读 本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法. 在之前的文 ...
- $ORACLE_HOME变量值末尾多“/”惹的祸
之前一直误以为$ORACLE_HOME变量的路径中末尾多写一个"/"不会有影响. 今天做实验时碰到一个情景,发现并不是这样. 环境:OEL 5.7 + Oracle 10.2.0. ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...
- 多线程 异步 beginInvoke EndInvoke 使用
有许多耗时操作时,还要响应用户操作.这时候就需要用其他线程或者异步来搞.本来是改造公司的日志组件.因为多上了个国外大区的业务到来本系统来.这个系统其他地方都好就是日志,动不动就要死给我们看.有时候寻找 ...
- YII 2.x 模板文件的 beginBlock、beginContent、beginCache
echo '-----------beginBlock--------------------- <br />'; $this->beginBlock('block1', false ...
- prometheus监控系统
关于Prometheus Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据:因此实现一种Profiling监控方式,实时分析系统运行的状态.执行时间.调用次数等,以找到系统的 ...
- 【从零开始学BPM,Day3】自定义表单开发
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第三天课程] 1.课程概要 Step 1 软件下载:H3 BP ...
- Android中AlarmManager使用示例(持续更新,已经更改)
现在普遍的手机都会有一个闹钟的功能,如果使用Android来实现一个闹钟可以使用AtarmManager来实现.AtarmManager提供了一种系统级的提示服务,允许你安排在将来的某个时间执行一个服 ...