2017-07-19 61 views
1

我想让SQL Server代理将此邮件作为电子邮件发送发送结果为csv文件

我所得到的只是错误。它没有@query参数,但我没有看到问题。

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'e-automate mail', 
    @recipients = '[email protected]', 
    @subject = 'on hold customers', 
    @body='Customers on Hold in E-automate', 
    @query = 'SELECT CC.CustomerID AS 'E-auto Number', 
         CC.TextVal AS 'Autotask Number', 
         ARC.CustomerName 
        FROM [CoCopeco].[dbo].[ARCustomerCustomProperties] CC 
        INNER JOIN [CoCopeco].[dbo].[ARCustomers] ARC ON ARC.CustomerID = CC.CustomerID 
        WHERE ShAttributeID = '2043' 
        AND ARC.OnHoldCodeID IS NOT NULL 
        AND DATALENGTH (CC.TextVal) > 0 ' , 
    @attach_query_result_as_file=1, 
    @query_attachment_filename = 'Results.csv', 
    @query_result_separator = ',' 
+1

你得到哪些错误?除此之外:我不明白你给这个问题的标题的含义 – Marged

回答

1

您需要在@Query参数选项卡中用单引号替换单引号,即替换'with'。

把@Query值,如下所示 -

@query = 'SELECT CC.CustomerID AS ''E-auto Number'', 
       CC.TextVal AS ''Autotask Number'', 
       ARC.CustomerName 
      FROM [CoCopeco].[dbo].[ARCustomerCustomProperties] CC 
      INNER JOIN [CoCopeco].[dbo].[ARCustomers] ARC ON ARC.CustomerID = CC.CustomerID 
      WHERE ShAttributeID = ''2043'' 
      AND ARC.OnHoldCodeID IS NOT NULL 
      AND DATALENGTH (CC.TextVal) > 0 ' 
+0

谢谢。就是这样。 – jbalter

+0

很高兴能有所帮助。请将其标记为已回答,以便其他问题可以适用。 – VKarthik

+0

如何将其标记为已回答? – jbalter