【发布时间】:2021-06-14 11:28:15
【问题描述】:
我已经存储了通过电子邮件从 SQL 表作为 csv 文件发送数据的过程。 其他一切都在工作,除了 csv 将列的数据减少到 256 个字符,即使我有一个'@query_result_width = 32767'。由于某种原因,这不起作用。我试过'@query_no_truncate = 1',但排除了标题,我还需要发送标题。有什么建议吗?
declare @qry nvarchar(max);
Select @qry= 'USE Erve Update FORM Set Instructions = REPLACE(REPLACE(Instructions, CHAR(10), ""),CHAR(9), CHAR(32)) from FORM; select * from FORM'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'NoReply',
@recipients ='some@receiver.com',
@query = @qry,
@body = 'Liitteenä kaikki erillisveloitettavat rivit.',
@subject = 'Erillisveloitettavat rivit',
@attach_query_result_as_file = 1 ,
@query_attachment_filename = 'ErveKaikki-rivit.csv',
@query_result_separator = ' ',
@query_result_width = 32767,
@query_result_no_padding = 1,
@query_result_header = 1
END
【问题讨论】:
-
@query_no_truncate是您所需要的,它是 documented 删除标题。如果您不想这样做,我建议您使用与sp_send_dbmail不同的工具来完成任务。 -
@query_result_width也不会影响列的大小,它会影响整行的大小。