SQL2005-深入了解SSIS中记录集的应用

80酷酷网    80kuku.com

  sql2005|记录集

SQL2005-深入了解SSIS中记录集的应用

在本文,我将介绍如何产生记录集,并将利用记录集中的行和列干某些事情,比如当你想基于行遍历执行某项操作,这是非常有用的

产生记录集非常简单了,上文《SSIS中ExecuteSQL TASK组件》中就介绍了

好了,现在开始我们的准备工作

1、现在我们定义4个变量
 ClosureDate 日期型数据 ,初始值为1/12/1999
 Contactname 字符串型
 emailaddress 字符串型
 rsDetails 对象型
 这4个变量前面3个将用于跟记录集的列建立联系,而后面一个则用于保存记录集
 显示结果如图:
 

2、建立连接
 在这个任务包中,我们将建立2个连接,一个用于获得数据的连接,一个是用于发送邮件的连接 
 建立连接的过程非常简单,下面这图通过点击 【New OLE DB Connection】 呈现
 
 建立SMTP连接可以通过点击 【New Connection】,然后选择SMTP 呈现
 
 
 
3、数据流任务
 我们要想把数据填充到变量中,首先我们要先把数据提取出来
 当然,这是很简单的事情,在数据流任务面板拖曳上下面2个组件
  OLE DB Source组件
  Recordset Destination组件
 然后设置OLE DB Source组件的连接信息和数据信息,如图:
 
 然后把OLE DB Source组件和 Recordset Destination组件连接起来,设置Recordset Destination组件的属性
 当然,我们想把记录保存在变量中,可以通过设置Recordset Destination组件的属性即可
 如图,我们把从OLE DB Source组件流出的数据保存在了rsDetails变量中
 
 好了,完成上面的设置后我们的数据流任务面板看起来就像这样
 

4、拆分记录集
 到现在为止,记录集还是一个总体,下面的任务就是能把这个整体分解成多个个体(行)
 这就要用这个伟大的 【ForEach Container 】组件实现了
 这个组件允许我们遍历集合,当然遍历的方法有很多种,可以权当为枚举器吧,比如【ADO Enumerator】,就是专门用于遍历ADO记录集的,枚举出来的值就直接通过变量映射来实现了
 好了,把这个组件拖上来,设置一下它的属性,如图,设置【ForEach Container 】组件的数据来源和枚举类型
 
 把枚举出来的东西建立变量映射关系
 

5、发送邮件
 现在记录集当被拆分成单个单个的行了,且他们的值都被保存在变量中了,要想访问这些值并把它们当作邮件的相关信息,就必须用【Send Mail task 】 组件了
 需要注意的是,你必须把这个组件拖到【ForEach Container 】组件中去,不然就行不成父子关系了
 下面就要设置邮件组件的信息了
 首先当然是设置谁谁谁发过来的,邮件是不是特快邮件等一系列邮件的基本通用信息,如图
 
 然后下面这些信息当然要动态设置了
  收件人
  主题
  内容
 由于需要动态设置,这就需要设置 expressions 属性的值来实现了,基本上每一个组件都有这个属性用于动态设置组件的属性  
 比如,动态设置邮件组件的【Message Source】属性,如图
 
 可以发现非常方便,把你所需要参考的东西都列出来了,体贴入微啊 ,真是微软
 主题、收件人依此类推,如图
 
 
 最后,邮件组件表达式的显示界面如下:
 
 
好了,整个任务大功告成,如图
  
 
 
总结
 好了,就写到此了,希望你能够喜欢
 该文的英文来源于



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: