簡體   English   中英

RDL報告作為帶有SQL電子郵件發送的電子郵件附件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM