我需要向订阅用户发送定期报告。 我使用this example发送电子邮件。
发送电子邮件的SQL,
DECLARE
@out_desc VARCHAR(1000),
@out_mesg VARCHAR(10)
DECLARE @name VARCHAR(20),
@birthdate datetime,
@email NVARCHAR(50)
DECLARE @body NVARCHAR(1000)
DECLARE C1 CURSOR READ_ONLY
FOR
SELECT [name], [birthdate], [email]
FROM Customers
OPEN C1
FETCH NEXT FROM C1 INTO
@name, @birthdate, @email
WHILE @@FETCH_STATUS = 0
BEGIN
IF DATEPART(DAY,@birthdate) = DATEPART(DAY,GETDATE())
AND DATEPART(MONTH,@birthdate) = DATEPART(MONTH,GETDATE())
BEGIN
SET @body = '<b>Happy Birthday ' + @name +
'</b><br />Many happy returns of the day'
+ '<br /><br />Customer Relationship Department'
EXEC sp_send_mail --THIS IS THE SP WHICH SEND EMAILS
sender@abc.com',
'xxxxxxx',
@email,
'Birthday Wishes',
@body,
'htmlbody',
@output_mesg = @out_mesg output,
@output_desc = @out_desc output
PRINT @out_mesg
PRINT @out_desc
END
FETCH NEXT FROM C1 INTO
@name, @birthdate, @email
END
CLOSE C1
DEALLOCATE C1
我需要使用RDL报告生成电子邮件的附件。我在报表服务器中有一个“BirthdayAlert.rdl”。如何将此报告发送到附件?
答案 0 :(得分:0)
以下是针对您的问题采取措施的解决方案。
1)在服务器上部署此报告。 2)按计划间隔订阅此报告以自动执行。 3)将创建工作。 4)为此作业编写sql过程以按您的间隔执行。这个sql应该做以下事情。 a)执行报告工作 b)将在您指定的位置的服务器上生成pdf / docx文件。 c)在senddbmail的帮助下,附加此文件并将其发送给用户。
希望你能得到你的疑问的答案。