|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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的一个小镇的名字。 |
|