在SQL Server中使用msdb.dbo.sp_send_dbmail发送文件附件

时间:2018-07-10 14:12:02

标签: sp-send-dbmail

我想使用msdb.dbo.sp_send_dbmail作为Excel附件从表中发送带有返回查询的邮件。但是我在发送带有nvarchar内容的附件时遇到问题。

当我发送带有附件的邮件时,unicode字符无法正确显示。如果我删除标题,则Unicode字符显示正常。

我不知道为什么会发生。请提出任何建议。预先感谢。

查询:

   DECLARE @Column1Name VARCHAR(MAX)
   DECLARE @tab char(1) = CHAR(9)
   DECLARE @Query VARCHAR(MAX)
   SET @Column1Name = '[sep=,' + CHAR(13) + CHAR(10) + col1]'
   SET @Query = 'SET NOCOUNT ON;
   SELECT Col1 AS '+Column1Name +',Col2,Col3 from tableName'

  EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'xxx',
        @recipients = 'xxx@xxx.com',
        @copy_recipients = '',
        @subject = 'Report'
       ,@query=@Query
       ,@attach_query_result_as_file=1
       ,@query_attachment_filename='QueryResults.xls'
       ,@query_result_header = 1
       ,@exclude_query_output =1
       ,@query_result_separator=@tab --enforce csv
       ,@query_result_no_padding=1 --trim
       ,@query_result_width=32767  --stop wordwrap

0 个答案:

没有答案