仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 918|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之SQL2005-深切懂得SSIS中纪录集的使用

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:22:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

2、创建毗连
在这个义务包中,我们将创建2个毗连,一个用于取得数据的毗连,一个是用于发送邮件的毗连
创建毗连的历程十分复杂,上面这图经由过程点击【NewOLEDBConnection】出现

创建SMTP毗连能够经由过程点击【NewConnection】,然后选择SMTP出现



3、数据流义务
我们要想把数据添补到变量中,起首我们要先把数据提掏出来
固然,这是很复杂的事变,在数据流义务面板拖曳高低面2个组件
OLEDBSource组件
RecordsetDestination组件
然后设置OLEDBSource组件的毗连信息和数据信息,如图:

然后把OLEDBSource组件和RecordsetDestination组件毗连起来,设置RecordsetDestination组件的属性
固然,我们想把纪录保留在变量中,能够经由过程设置RecordsetDestination组件的属性便可
如图,我们把从OLEDBSource组件流出的数据保留在了rsDetails变量中

好了,完成下面的设置后我们的数据流义务面板看起来就像如许

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

把列举出来的器材创建变量映照干系

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

然后上面这些信息固然要静态设置了
收件人
主题
内容
因为必要静态设置,这就必要设置expressions属性的值来完成了,基础上每个组件都有这个属性用于静态设置组件的属性
好比,静态设置邮件组件的【MessageSource】属性,如图

能够发明十分便利,把你所必要参考的器材都列出来了,体恤进微啊,真是微软
主题、收件人依此类推,如图


最初,邮件组件表达式的显现界面以下:


好了,全部义务半途而废,如图



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

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表