Azure云数据库报表自动生成Excel 并自动发送邮件实现

来源:互联网 发布:手机电子游戏赌博网络 编辑:程序博客网 时间:2024/06/15 16:40
由于正式环境假设在微软云上,使用的数据库也是DB云服务,所以目前的SQL SERVER数据库仅支持表、视图的查询和修改,类似于作业、存储过程、管理等权限,全部不能使用(按照微软的说法是,这样DB库就是可移植的,不是独立绑定在某个虚拟机上的,只是一个存储空间)。以下是思路及步骤:

软件1:Navicat_Premium_11.0.10 用于连接DB云,建立计划任务,并生成Excel
软件2:SQL server 用于配置邮箱,建立作业发送邮件
环境要求:能够访问云数据库,能够访问外网,所以选择在跳板机上

Q:SQL SERVER就能访问云DB,为什么还要其他软件连接?A:SQL SERVER能够成功的建立Link并连接到云DB,无语的是无法查询,提示错误-_-!所以就无法通过本地来查询获取数据,只能通过其他工具

1、实现流程图如下(以下都是在跳板机上完成)

这里写图片描述

2、详细流程如下:
2.1、Navicat_Premium_11.0.10的设置

1、连接DB云,查询SQL并保存,保存时要命名,例如:日活跃率
2、点导出按钮,导出到Excel,设置保存的路径,目前是:C:\自动发送生成Excel并发送邮件,继续下一步
3、选择标题,继续下一步,这里同时要选择保存,例如:日活跃率

这里写图片描述

4、点计划任务,新建计划任务(每天0.30运行),并选中”日活跃率”的Excel导出规则,继续保存,例如:日活跃率

这里写图片描述

5、设置计划任务的运行时间,输入密码即可
2.2、Sql server的设置
1、使用管理员运行SQL server,输入AD域的账号密码
2、用Windows身份登录本机,并打开管理下的数据库邮件
3、配置发件人、SMTP、账号和密码,并发送测试邮件,必须发送成功才能进行下一步
4、创建Job,设置JoB的运行时间(每天凌晨1点),并设置步骤,让其执行以下语句:

代码如下:
SET ROWCOUNT 0
EXEC msdb.dbo.sp_send_dbmail
@profile_name = ‘Automatic_statistics’,
@recipients = ‘xx@rongzi.com’,
@copy_recipients = ‘xx@rongzi.com;xx@rongzi.com’,
@subject = ‘商友圈每日统计报表’,
@body = ‘Dear All:

        附件是商友圈每日统计报表,请查收!

        注意:这个邮件是定时自动发送,请勿回复,谢谢!’,
@body_format = ‘HTML’,
@file_attachments = ‘D:\自动发送生成Excel并发送邮件\注册&圈子信息.xls;D:\自动发送生成Excel并发送邮件\累计好友通过数.xls;D:\自动发送生成Excel并发送邮件\累计认证通过数.xls;D:\自动发送生成Excel并发送邮件\认证用户.xls;D:\自动发送生成Excel并发送邮件\日活跃率.xls’

以上都可以先配置成自己的测试邮箱进行测试

阅读全文
0 0
原创粉丝点击