首页 > 开发 > 综合 > 正文

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

2024-07-21 02:12:07
字体:
来源:转载
供稿:网友

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】属性,如图
 
 可以发现非常方便,把你所需要参考的东西都列出来了,体贴入微啊 ,真是微软
 主题、收件人依此类推,如图
 
 
 最后,邮件组件表达式的显示界面如下:
 
 
好了,整个任务大功告成,如图
  
 
 
总结
 好了,就写到此了,希望你能够喜欢
 该文的英文来源于 http://www.sqlis.com/default.aspx?59

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表