仓酷云

标题: MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用 [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-16 22:22
标题: MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。sql2005|纪录集SQL2005-深切懂得SSIS中纪录集的使用
在本文,我将先容怎样发生纪录集,并将使用纪录会合的行和列干某些事变,好比当你想基于行遍历实行某项操纵,这长短常有效的
发生纪录集十分复杂了,上文《SSIS中ExecuteSQLTASK组件》中就先容了
好了,如今入手下手我们的筹办事情
1、如今我们界说4个变量
ClosureDate日期型数据,初始值为1/12/1999
Contactname字符串型
emailaddress字符串型
rsDetails工具型
这4个变量后面3个将用于跟纪录集的列创建接洽,尔后面一个则用于保留纪录集
显现了局如图:
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

2、创建毗连
在这个义务包中,我们将创建2个毗连,一个用于取得数据的毗连,一个是用于发送邮件的毗连
创建毗连的历程十分复杂,上面这图经由过程点击【NewOLEDBConnection】出现
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

创建SMTP毗连能够经由过程点击【NewConnection】,然后选择SMTP出现
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图


3、数据流义务
我们要想把数据添补到变量中,起首我们要先把数据提掏出来
固然,这是很复杂的事变,在数据流义务面板拖曳高低面2个组件
OLEDBSource组件
RecordsetDestination组件
然后设置OLEDBSource组件的毗连信息和数据信息,如图:
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

然后把OLEDBSource组件和RecordsetDestination组件毗连起来,设置RecordsetDestination组件的属性
固然,我们想把纪录保留在变量中,能够经由过程设置RecordsetDestination组件的属性便可
如图,我们把从OLEDBSource组件流出的数据保留在了rsDetails变量中
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

好了,完成下面的设置后我们的数据流义务面板看起来就像如许
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

4、拆分纪录集
到如今为止,纪录集仍是一个整体,上面的义务就是能把这个全体分化成多个个别(行)
这就要用这个巨大的【ForEachContainer】组件完成了
这个组件同意我们遍历汇合,固然遍历的办法有良多种,能够权当为列举器吧,好比【ADOEnumerator】,就是专门用于遍历ADO纪录集的,列举出来的值就间接经由过程变量映照来完成了
好了,把这个组件拖下去,设置一下它的属性,如图,设置【ForEachContainer】组件的数据来历和列举范例
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

把列举出来的器材创建变量映照干系
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

5、发送邮件
如今纪录集当被拆分红单个单个的行了,且他们的值都被保留在变量中了,要想会见这些值并把它们看成邮件的相干信息,就必需用【SendMailtask】组件了
必要注重的是,你必需把这个组件拖到【ForEachContainer】组件中往,否则就行不成父子干系了
上面就要设置邮件组件的信息了
起首固然是设置谁谁谁发过去的,邮件是否是特快邮件等一系列邮件的基础通用信息,如图
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

然后上面这些信息固然要静态设置了
收件人
主题
内容
因为必要静态设置,这就必要设置expressions属性的值来完成了,基础上每个组件都有这个属性用于静态设置组件的属性
好比,静态设置邮件组件的【MessageSource】属性,如图
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

能够发明十分便利,把你所必要参考的器材都列出来了,体恤进微啊,真是微软
主题、收件人依此类推,如图
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图

最初,邮件组件表达式的显现界面以下:
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图


好了,全部义务半途而废,如图
MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用
登录/注册后可看大图



总结
好了,就写到此了,但愿你可以喜好
该文的英文来历于http://www.sqlis.com/default.aspx?59

根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
作者: admin    时间: 2015-1-19 09:34
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
作者: 若天明    时间: 2015-1-24 14:23
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
作者: 乐观    时间: 2015-2-1 16:59
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
作者: 金色的骷髅    时间: 2015-2-7 10:37
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
作者: 老尸    时间: 2015-2-21 19:01
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
作者: 深爱那片海    时间: 2015-3-6 21:06
我个人认为就是孜孜不懈的学习
作者: 小魔女    时间: 2015-3-13 09:58
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2