2017-10-18 119 views
0

我不認爲有一個簡單的方法來做到這一點,但這裏。tsql導出並將SSRS報告附加到電子郵件?

我們有一個SSRS報告可以被調用http://MyServer/ReportServer/Pages/ReportViewer.aspx?%2fSales%2fSalesReport

我們還可以使用數據庫郵件發送我們的電子郵件,所以代碼如下所示:

EXEC msdb.dbo.sp_send_dbmail  
@profile_name = 'Joe Smith',  
@recipients = '[email protected]',  
@subject = 'Daily Sales',  
@body = 'Some HTML',  
@body_format = 'HTML' ;  

只使用TSQL,可我莫名其妙將Excel作爲發送郵件的附件?

可以使用http://MyServer/ReportServer?%2fSaless%2fSalesReport&rs:Command=Excel在本地查看Excel,但我不確定如何將它作爲附件包含在內。

謝謝。

+1

您可以使用'@ file_attachments ='c:\ myFile.xlsx''使用sp_send_mail發送文件附件,但我認爲您不能直接從T-SQL執行報告。您可以查看訂閱以直接向收件人解決此問題,或者安排報告將Excel文件轉儲到特定位置,然後您的T-SQL sp_send_mail命令將使用該固定網絡文件名作爲附件。 –

回答

0

那麼,只使用TSQL,你會刪除此問題的SSRS部分。不要使用SSRS報告,只需直接調用代碼並通過@attach_query_result_as_file parameter使用sp_send_dbmail中的結果。如果您的SSRS報告正在格式化您的結果,並且因此您要使用SSRS報告,那麼您可以安排此報告運行並將文件共享中的xls放在您的SQL Server可以訪問的文件共享中,並使用@file_attachments參數的sp_send_db_mail

+1

很高興看到有人認爲我和我一樣......但是更快30秒:) –

+0

從外表看,你的速度快了30秒@AlanSchofield – scsimon