【问题标题】:RDL report as an email attachment with SQL email sendingRDL 报告作为带有 SQL 电子邮件发送的电子邮件附件
【发布时间】:2015-03-29 14:34:34
【问题描述】:

我需要向订阅用户发送定期报告。 我使用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”。我怎样才能得到这个报告的附件?

【问题讨论】:

    标签: sql ssrs-2008-r2 rdl


    【解决方案1】:

    以下是针对您的问题的解决方案。

    1) 在服务器上部署此报告。 2) 订阅此报告以按计划间隔自动执行。 3) 将创建作业。 4) 为这个作业编写 sql 程序,以便每隔一段时间执行一次。这个sql应该做以下事情。 a) 执行报告作业 b) pdf / docx 文件将在服务器上您指定的位置生成。 c) 在 senddbmail 的帮助下,附加这个文件并发送给用户。

    希望您的问题得到答案。

    【讨论】:

    • 您能否分享一个使用 RDL 报告从 SQL 创建 PDF/Excel 的代码示例?
    猜你喜欢
    • 2016-02-28
    • 1970-01-01
    • 2013-02-18
    • 2011-12-06
    • 2015-09-09
    • 2018-07-24
    相关资源
    最近更新 更多