上一篇介绍如何在SSRS中以共享目录的方式来订阅报表。由于SSRS对于邮件的方式订阅报表有些特殊,所以此篇将介绍如何以变通的方式实现报表邮件订阅。
实现邮件的方式订阅报表,我们将其拆分成三个部分。
我们利用SQL Server Agent生成job来以固定周期触发一个流程。然后在这个流程中,首先实现一个app将报表生成到一个指定目录下,然后再调用另外一个程序,根据配置文件,把报表发送给指定邮件组的用户。
首先,创建生成报表pdf的应用程序。
生成pdf的主要思路是用一个winform应用程序添加一个reportviewer控件,然后直接将报表生成pdf格式。
打开Visual Studio 2012,创建一个winform应用程序。

在窗体上添加ReportViewer控件。

然后,在数据库中建立加几张表,用来保存报表控件的配置信息,以及邮件发送的配置信息。这三张表的结构可以根据实际情况定义,在本片中,ReportBase主要保存ReportServer和ReportPath两条信息,用来定位一张服务器端报表。EmailBase主要用来记录发送邮件所有的用户名和密码以及smtp服务器所在地址。ReportTo用来记录邮件发送给谁。

创建好基础表之后,回到项目,添加一个LINQ to SQ

本文详细介绍了如何使用SQL Server Agent和自定义应用程序实现SSRS报表的邮件订阅。通过创建winform应用程序生成报表PDF,再用控制台应用程序发送邮件,最后设置SQL Server Agent作业调度,成功实现定时将报表以邮件形式发送给指定用户。
最低0.47元/天 解锁文章
469

被折叠的 条评论
为什么被折叠?



