2015-11-12 54 views
0

我使用以下代码以CSV格式发送电子邮件附件,这是工作正常,但是当我尝试使用原始查询,即select col1, col2, col3 .. from DBTable代替测试查询select ''1'', ''2'', ''3'', ''4''电子邮件没有被发送,即使没有任何错误,但没有发送电子邮件,存储过程以相同的方式与两个查询一起执行。发送电子邮件不会打印查询结果在csv

EXEC msdb..sp_send_dbmail @profile_name='Notificatins and Alerts', 
    @recipients = @EmailRecipient, 
    @subject = @MessageSubject, 
    @body = @MessageBody, 
    @body_format = 'HTML', 
    @query='SET NOCOUNT ON; 
      select ''sep=,''    
      select ''1'', ''2'', ''3'', ''4'' ', 
--select ''1'', ''2'', ''3'', ''4'' 
    @attach_query_result_as_file=1, 
    @query_attachment_filename = 'Results.csv', 
    @query_result_separator =',', 
    @query_result_no_padding=1, --trim 
    [email protected]_result_width=32767, --stop wordwrap 
    @exclude_query_output =1, 
    @append_query_error = 0, 
    @query_result_header =0; 

任何人都可以帮助我。

回答

0

这是解决方案。希望这将有助于某人:

EXEC msdb..sp_send_dbmail @profile_name='Notificatins and Alerts', 
    @recipients = @EmailRecipient, 
    @subject = @MessageSubject, 
    @body = @MessageBody, 
    @body_format = 'HTML', 
    @query='SET NOCOUNT ON; 
      select ''sep=,''    
      select col1, col2, col3 .. from dbName.dbo.DBTable ', 
--select ''1'', ''2'', ''3'', ''4'' 
    @attach_query_result_as_file=1, 
    @query_attachment_filename = 'Results.csv', 
    @query_result_separator =',', 
    @query_result_no_padding=1, --trim 
    [email protected]_result_width=32767, --stop wordwrap 
    @exclude_query_output =1, 
    @append_query_error = 0, 
    @query_result_header =0; 

只需一个必须使用DBName.dbo与我的查询中缺少的表名。

相关问题