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

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

时间: 2016-05-07

SQL2005-深入了解SSIS中记录集的应用的相关文章

asp中记录集对象的getrows和getstring用法分析_应用技巧

GetRows 方法 将 Recordset 对象的多个记录复制到数组中. 语法 复制代码 代码如下: array = recordset.GetRows( Rows, Start, Fields ) 返回值 返回二维数组. 参数 Rows 可选,长整型表达式,指定要检索记录数.默认值为 adGetRowsRest (-1). Start 可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签.也可使用下列 BookmarkEnum 值. 常量 说明 AdBookmarkCur

asp中记录集对象的getrows和getstring用法分析

GetRows 方法 将 Recordset 对象的多个记录复制到数组中. 语法 复制代码 代码如下: array = recordset.GetRows( Rows, Start, Fields ) 返回值 返回二维数组. 参数 Rows 可选,长整型表达式,指定要检索记录数.默认值为 adGetRowsRest (-1). Start 可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签.也可使用下列 BookmarkEnum 值. 常量 说明 AdBookmarkCur

ASP中轻松实现记录集分页

分页|记录集|分页|记录集     大家都知道在Dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰,那么,可不可以用简单的方式实现同样的功能呢?当然可以,笔者通过以下一些简单的代码就实现了记录集的分页显示,现在拿出来大家一起分享. 主要代码如下: <% If rs1.recordcount>0 Then ' 记录集不为空则处理记录 rs1.pagesize = 10 ' 设置每页显示的记录数 num=rs1.reco

从Microsoft Sql Server 2005中返回有一定顺序的记录集

摘要:应用SqlServer2005开发也已经有一段时间了,但是很多时候都是把SqlServer2005当做SqlServer2000来用,因此很多SqlServer2005的新特性我都没有用到,有一个原因就是要兼容SqlServer2000的用户.新特性出来的当然就要用于实际当中,要想知道SQLServer2005的新特性可以参看微软网站的What's New in SQL Server 2005? ,特性有很多本篇文章主要介绍的是在数据库中返回特定顺序的记录集. 数据库模型: 在我们深入Sq

ASP.NET页面中显示数据库记录集最快的方法是什么?

asp.net|记录集|数据|数据库|显示|页面 小鸡射手在DataGrid的使用实践中提到过DataGrid的性能问题,现看到了微软DEV411 ASP.NET:Best Practices For Performance中有量化数据,摘录之. 平均而言:- DataReader比DataSet快16%- SQLDataReader比OleDbDataReader快115%- 下标引用比字段名引用快11%- 大小写匹配的字段名比大小写不匹配的字段名的快1%- 直接写script比DataGri

SQL语法及ASP中SQL语句参考及记录集对象

sql语法|参考|对象|记录集|语句 SQL语法 DB2 提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常口语化.既易学又易懂的语法.此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML).SQL原来拼成SEQUEL,这语言的原型以"系统 R"的名字在 IBM 圣荷西实验室完成,经过IBM内部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展

在ASP中轻松实现记录集分页显示

大家都知道在Dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰,那么,可不可以用简单的方式实现同样的功能呢?当然可以,笔者通过以下一些简单的代码就实现了记录集的分页显示,现在拿出来大家一起分享. 主要代码如下: <% If rs1.recordcount>0 Then ' 记录集不为空则处理记录 rs1.pagesize = 10 ' 设置每页显示的记录数 num=rs1.recordcount ' 记录总数 pag

dreamweaver-在Dreamweaver中插入记录集后,预览时总是出现这个问题,该怎么解决?求指点!!

问题描述 在Dreamweaver中插入记录集后,预览时总是出现这个问题,该怎么解决?求指点!! 在Dreamweaver中插入记录集后,预览时总是出现这个问题,该怎么解决?求指点!! [Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access 驱动程序] Microsoft Jet 数据库引擎打不开文件'(未知的)'. 它已经被别的用户以独占方式打开,或没有查看数据的权限

机房收费系统:(二)VB中强制大小写转换和记录集操作

一.VB中大小写的转换      VB中自带字母大小写转换函数LCase和UCase.      格式:UCase(任何有效的string或char表达式),UCase(string),U就是upper的意思,就是变大:相反的就是,LCase(任何有效的string或char表达式)函数,就是转换成小写字符,用法同理,不再累述.      说明:   (1)参数必选项,可为任意有效的字符或者表达式.                    (2)如果 string 参数中包含 Null,则返回 N