MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SSIS遍历记录发送邮件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
刚刚在technet上看了SSIS在执行 sql 任务中使用结果集的介绍(原文地址: http://technet.microsoft.com/zh-cn/office/cc280492.aspX).就弄了这个东西出来.循环表中所有记录.并发送邮件.

注意:由于我发送邮件使用了msdb..sp_send_dbmail存储过程发送Database Mail.所以需要在sqlServer Management studio上配置数据库邮件.(配置数据库邮件过程此处不详说了.可以参微软的网站,或http://hi.baidu.com/itpro/blog/item/06a2db11f1263c15b9127bd2.html)

一.在sqlServer上创建测试数据:


create database myTest
go

use myTest
go

create table EMailTest(id int,name nvarchar(20),email varchar(256))

insert into EMailTest values(1,N'小梁','purana@126.com')

insert into EMailTest values(2,N'小辉','myfend@hotmail.com')



  二.打开sql Server Business Intelligence Development studio.新建一个SSIS项目.
  三.在”连接管理器”中新建一个”Ole Db连接”,服务器上填上你的sqlServer实例名(我这里是用myfend/myfend,以下说到的连接管理器均为此Ole Db连接管理器).数据库中选择刚刚创建的myTest库.确定返回.

SSIS遍历记录发送邮件


  三.在”控制流”上添加一个”执行sql任务”组件.并双击进入”执行sql任务编辑器”.在”选项”页面上.Connection上选择刚刚建立的连接管理器.sqlsourceType为”直接输入”,sqlStatement处输入SELEct * from EMailTest  ,在结果集”ResultSet”中选择”完整结果集”

SSIS遍历记录发送邮件


切换到”结果集”页面上.添加一个变量,名称为adResultset,值类型选择Object,确定返回

SSIS遍历记录发送邮件


将结果名称设置为0.

SSIS遍历记录发送邮件


此处已设置完,确定返回.

四.在”控制流”上添加一个”ForEach循环容器”,并将刚刚的”执行sql任务”组件的约束流拖到此”ForEach循环容器”上.
  双击”ForEach循环容器”,进入”Foreach循环容器编辑器”,并转到”集合”页面上.设置Enumerator为”Foreach ADO枚举器”,ADO对象源变量选择”用户::adResultSet”(即刚刚的”执行sql任务”中返回的结果集的变量名)

SSIS遍历记录发送邮件


然后切换到”变量映射”页面上.新建三个变量,第一个变量名称为”ID”,值类型为”int32”,索引设置为0,第二个变量名称为”Name”,值类型为”String”,索引设置为1,第三个变量名称为”EMail”,索引设置为2.如图

SSIS遍历记录发送邮件


此处设置完毕,确定返回.
五.在”Foreach循环容器”上添加一个”执行sql任务”组件,将双击进入”执行sql任务编辑器”.在常规页面下.设置Connection为”myfend/myfend.Test”连接管理器,sqlsourceType设置为”直接输入”,sqlStatement处输入
exec msdb.dbo.sp_send_dbmail
      @profile_name='victoria',
      @recipients=?,
      @subject='这是测试邮件',
      @body='这是测试邮件呀,能收吗?'

@H_489_93@


注意,这里的@profile_name你的数据库邮件的”配置文件名”

SSIS遍历记录发送邮件



转到”参数映射”页面下.添加一个参数,变量名称” 用户::Email”,方向为”Input”,数据类型为”VARCHAR”,参数名称为”0”,参数大小为”20”,如图.

SSIS遍历记录发送邮件


此处设置完成.确定返回..

全部设置都完成了.运行看看结果.
运行前

SSIS遍历记录发送邮件


运行后:

SSIS遍历记录发送邮件

大佬总结

以上是大佬教程为你收集整理的SSIS遍历记录发送邮件全部内容,希望文章能够帮你解决SSIS遍历记录发送邮件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: