SSIS遍历记录发送邮件
发布时间:2020-12-12 15:48:00 所属栏目:MsSql教程 来源:网络整理
导读:刚刚在technet上看了SSIS在执行 SQL 任务中使用结果集的介绍(原文地址: http://technet.microsoft.com/zh-cn/office/cc280492.aspx).就弄了这个东西出来.循环表中所有记录.并发送邮件. 注意:由于我发送邮件使用了msdb..sp_send_dbmail存储过程发送Database M
刚刚在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库.确定返回. ??三.在”控制流”上添加一个”执行SQL任务”组件.并双击进入”执行SQL任务编辑器”.在”选项”页面上.Connection上选择刚刚建立的连接管理器.SQLSourceType为”直接输入”,SQLStatement处输入select * from EMailTest??,在结果集”ResultSet”中选择”完整结果集” 切换到”结果集”页面上.添加一个变量,名称为adResultset,值类型选择Object,确定返回 将结果名称设置为0. 此处已设置完,确定返回. 四.在”控制流”上添加一个”ForEach循环容器”,并将刚刚的”执行SQL任务”组件的约束流拖到此”ForEach循环容器”上. ??双击”ForEach循环容器”,进入”Foreach循环容器编辑器”,并转到”集合”页面上.设置Enumerator为”Foreach ADO枚举器”,ADO对象源变量选择”用户::adResultSet”(即刚刚的”执行SQL任务”中返回的结果集的变量名) 然后切换到”变量映射”页面上.新建三个变量,第一个变量名称为”ID”,值类型为”int32”,索引设置为0,第二个变量名称为”Name”,值类型为”String”,索引设置为1,第三个变量名称为”EMail”,索引设置为2.如图 此处设置完毕,确定返回. 五.在”Foreach循环容器”上添加一个”执行SQL任务”组件,将双击进入”执行SQL任务编辑器”.在常规页面下.设置Connection为”myfend/myfend.Test”连接管理器,SQLSourceType设置为”直接输入”,SQLStatement处输入 exec msdb.dbo.sp_send_dbmail ??????@profile_name='victoria', ??????@recipients=?, ??????@subject='这是测试邮件', ??????@body='这是测试邮件呀,能收吗?' 注意,这里的@profile_name为你的数据库邮件的”配置文件名” 转到”参数映射”页面下.添加一个参数,变量名称” 用户::Email”,方向为”Input”,数据类型为”VARCHAR”,参数名称为”0”,参数大小为”20”,如图. 此处设置完成.确定返回.. 全部设置都完成了.运行看看结果. 运行前 运行后: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- SQL Server 跨库同步数据
- SQL Server误区30日谈 第28天 有关大容量事务日志
- SQLServer2005外键约束和级联删除
- sql-server – 如何拆分平面文件数据并加载到数据
- Element type "Resource" must be follo
- “TIMESTAMP WITH TIME ZONE”< - > DateTImeOff
- SQLSERVER 执行sp_who2 显示的LastBatch列时间显
- sql-server – 如何在SQL Server Management Stu
- sqlserver 2008 自动备份报错 没有SQL Server In
- SQL语句 操作全集 学习mssql的朋友一定要看
热点阅读