![](/img/trans.png)
[英]Sending query results via email via email attachment every first day of every month on SQL Server 2012
[英]RDL report as an email attachment with SQL email sending
我需要向訂閱的用戶發送定期報告。 我使用此示例發送電子郵件。
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”。 我如何獲得此報告的附件?
以下是針對您問題的解決方案。
1)在服務器上部署此報告。 2)訂閱此報告以按計划間隔自動執行。 3)將創建作業。 4)為該作業編寫sql過程以按您的時間間隔執行。 此sql應該執行以下操作。 a)執行報告作業b)pdf / docx文件將在您指定位置的服務器上生成。 c)在senddbmail的幫助下,將此文件附加並發送給用戶。
希望您得到查詢的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.