没有合适的资源?快使用搜索试试~ 我知道了~
首页SQLSERVER 2008 SSIS时间戳详解与并发控制
本资源是一份详尽的SQL Server 2008 SSIS基础文档,共167页,涵盖了时间戳的相关概念和应用。SQL Server 2008的集成服务(Integration Services,简称SSIS)是用于数据集成的强大工具,该文档详细解释了时间戳这一数据库字段的重要性和特性。 时间戳并非传统意义上的时间字段,而是一个与时间和日期无关的、基于数据库内部计数器的唯一二进制数字。其存储大小为8个字节,主要用于记录数据库中的行版本信息,每当表发生插入或更新操作时,该计数器值会自动递增。时间戳的这种特性使得它不适合用作键,特别是主键,因为任何行的更新都会改变时间戳值,可能影响其他依赖于它的键或索引。 时间戳在并发控制中发挥关键作用。例如,当两个用户A和B同时访问并编辑同一记录时,通过比较提交时的时间戳,系统可以判断在这段时间内记录是否被他人更新,从而避免数据冲突。这对于防止更新覆盖至关重要。 时间戳的主要用途在于数据的增量更新。当需要从源表复制数据到目标表时,可以通过查找并复制那些时间戳值大于最后一次更新时间的行,实现仅复制已发生变化的数据,这种方法被称为数据增量更新,有助于提高数据同步的效率和准确性。 总结来说,这份文档提供了关于SQL Server 2008 SSIS如何利用时间戳进行数据管理和并发控制的深入指导,对于开发人员和数据管理员理解和运用这一功能具有很高的实用价值。阅读此文档,读者能够掌握如何有效地使用时间戳来优化数据处理流程,确保数据一致性,并减少不必要的数据复制。
资源详情
资源推荐
SSIS 使用手册 ---天善智能 QQ:744711023
天善问答,由天善讲师团、智囊团长期驻扎,一站式解决你在工作和学习中遇到各类 BI 技术问题,网址:http://www.flybi.net
第 16 页 共 167 页
3.双击打开编辑界面如图 2
4.点击左边 Script 标签,打开界面如图 3
SSIS 使用手册 ---天善智能 QQ:744711023
天善问答,由天善讲师团、智囊团长期驻扎,一站式解决你在工作和学习中遇到各类 BI 技术问题,网址:http://www.flybi.net
第 17 页 共 167 页
5.这里有几个属性标签下面做一些说明
a. ScriptLanguage:在这里可以设置要使用的语言。SSIS2005 版本中只支持 Visual Basic.NET,后续版本中添加了 C#
b. PrecompileScriptIntoBinaryCode:设置这个属性为 true 的时候,脚本在执行之前就被编译,这样可以提高性能。设置为 false,在调
用 script 的时候才会编译脚本。当在 SQL Server Agent job 中调用这个 package 的时候需要将这个属性设置为 true
c. EntryPoint:这个属性设置为 Mian,表明程序的入口是 Main 方法
d. ReadOnlyVariables:一个用逗号隔开的字符串,包含可以被程序读取的 SSIS 变量
e. ReadWriteVariables:一个用逗号隔开的字符串,包含可以被程序读取和写入的 SSIS 变量
6.在左边标签栏还有一个 Expressions 我们在前面的章节已经说明,这里不再解释。
7.点击 Edit Script 按钮打开 Visual Studio 编辑界面如图 4
SSIS 使用手册 ---天善智能 QQ:744711023
天善问答,由天善讲师团、智囊团长期驻扎,一站式解决你在工作和学习中遇到各类 BI 技术问题,网址:http://www.flybi.net
第 18 页 共 167 页
所有的代码编辑都在这个 Visual Studio for Application 界面中进行,它也包含所有的代码编辑调试工具,包含代码高亮显示和智能感
知。
这里的代码非常的简单,开头的代码:
SSIS 使用手册 ---天善智能 QQ:744711023
天善问答,由天善讲师团、智囊团长期驻扎,一站式解决你在工作和学习中遇到各类 BI 技术问题,网址:http://www.flybi.net
第 19 页 共 167 页
这段 程序到目前为止还没有添加自己的代码,仅仅是关于程序如何运行的说明和 Dts.TaskResult 值的设置。必须设置这个变量的值为
true 或 false,否则 SSIS 运行时不知道程序是否执行成功以便采取下一步行动。
3.3.2 DTS 对象
Dts 是类 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptObjectModel 类的一个实例,Dts 对象有 7 个属性和一个方法,下面我们说
明这些成员
a. Connections-包中定义的一个连接,使用这个连接可以获得检索外部数据
b. Events-一个事件的集合,使用这个接口可以捕获到预定义事件,扩展事件
c. ExecutionValue-一个可读写的属性,通过这个属性可以附加自定义属性,使用自定义的对象可以附加任何想要的信息
d. TaskResult-这个属性可以设置任务状态为成功或失败,这是控制语句流的唯一方法,退出之前必须设置这个属性
e. Transaction-获得容器中的事务
f. Log-这个方法用来写日志
Dts 对象提供和 package 交互的所有属性,要注意的是 Dts 只存在于 Script task 中,在 Script Compontent 中没有这个对象
3.3.3 访问变量
变量是 script task 中的一个重要属性,它是一个和 package 交互的工具。在 script task 中的变量有两种类型,只读的和读写的,在 script
task 中有两种方式获得变量,VariableDispenser 对象提供设置变量只读和读写的属性,这是标准方法,在早期的 SSIS 中使用 API。
检索 VariableDispenser 对象中的变量的代码如下:
Dim vars As Variables
Dts.VariableDispenser.LockForRead("SomeVariable")
Dts.VariableDispenser.GetVariables(vars)
MsgBox(vars(0).Value)
SSIS 使用手册 ---天善智能 QQ:744711023
天善问答,由天善讲师团、智囊团长期驻扎,一站式解决你在工作和学习中遇到各类 BI 技术问题,网址:http://www.flybi.net
第 20 页 共 167 页
这里用四行代码不是很高效,所以在 Dts 对象中引入了 Variables 集合和 ReadOnlyVariables,ReadWriteVariables 属性,这两个属性告
诉 script task 那些变量需要设置只读或读写属性,Variables 集合用来填充变量,代码简化如下:
Msgbox(Dts.Variables("SomeVariable").Value)
尝试从 Variables 集合中读取没有赋制值的变量将会抛出异常,注意 Visual Basic.NET 大小写敏感,但是 SSIS 中的变量不敏感。要访问
Variables 集合中的变量,必须事先设置他们的只读或读写属性。调用一个名为 StringVariable 的变量的方法如下:
Variables.StringVariable
3.3.4 事件
Script task 中的事件可以用日志记录下来,事件是从对象中发送一个消息标明一个动作正在发生或者将要发生。程序通过事件处理程序
来捕获事件。使用 Dts 对象中的 Events 属性来发起一个事件,Events 属性是 IDTSComponentEvents 接口的一个实现对象,这个接口中定
义了可以触发的事件。
a. FireBreakpointHit-运行到断点时触发事件
b. FireError-程序出错时触发事件
c. FireInformation-使用消息触发事件
d. FireProgress-遇到 progress 的时候触发事件
f. FireQueryCancel-触发一个事件表明是否停止执行包
g. FireWarning-程序出现警告时触发事件
h. FireCustomEvent-触发用户自定义事件
在 SSIS 中所有的事件都可以写入到一个日志中,这在调试和解决问题中很有用。在 SSIS Logging 工具中设置日志记录。在 BIDS 界面上
方点击 SSIS−>logging,弹出 SSIS 日志编辑界面,在 Provider Type 下拉框中选择 XML files,点击 Add。点击<new connection>设置打
开 File Connection Manager 编辑框,选择 Usage type 为 Create file,将文件命名为 log.xml 选择文件路径,点击选中设置好的 xml
文件如图 5
剩余166页未读,继续阅读
passionSnail
- 粉丝: 448
- 资源: 6875
下载权益
电子书特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功