sql - 为什么电子邮件附件中的查询结果小于最大文件大小时会被截断?
问题描述
我正在使用动态数据透视查询来创建一个表,该表可能有很多行,并通过 msdb.dbo.sp_send_dbmail 将此查询结果发送出去。它在 MSSMS 中给出了正确的结果,但在通过电子邮件发送时,附件被截断。附件的文件大小为 65 KB,最大文件大小设置为 10 MB。
SET QUOTED_IDENTIFIER ON
DECLARE @cols nVARCHAR(MAX),
@DynamicPivotQuery nVARCHAR(max);
select @cols = STUFF((SELECT DISTINCT ','+ QUOTENAME(concatgrpQ) from test.dbo.unpivotedTable FOR XML PATH(''), TYPE).value('.', 'nVARCHAR(MAX)'),1,1,'')
SET @DynamicPivotQuery =
N'
select *
into test.dbo.pivotedTable
from
(
select *
from test.dbo.unpivotedTable
) a
pivot
(
max(Answer)
for concatgrpQ in ('+@cols+')
) as p'
exec sp_executesql @DynamicPivotQuery
--select * from test.dbo.pivotedTable;
declare @now as NVARCHAR(MAX)
set @now=convert(varchar, getdate(), 1)
declare @stringsubject as nVARCHAR(MAX)
set @stringsubject='Evaluation Export ' +@now+' -Automated DB email'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Gmail',
@recipients = 'test@test.com',
@body= 'open file as semi-colon delimited',
@query = "select * from test.dbo.pivotedTable",
@subject = @stringsubject,
@attach_query_result_as_file = 1,
@query_no_truncate = 1,
@query_result_separator =';',
@query_result_width=32767,
@query_attachment_filename ='EvalExport.txt'
CREATE TABLE gngiadb.dbo.strcolnames (ColumnNames nvarchar(max))
declare @stringcolumnnames nvarchar(max)
set @stringcolumnnames= '"str1", "str2,"str3",str4", "str5"' +REPLACE(REPLACE(@cols, ']','"'),'[', '"');
INSERT INTO test.dbo.strcolnames
select @stringcolumnnames as 'ColumnNames'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Gmail',
@recipients = 'test@test.com',
@query= "select * from test.dbo.strcolnames",
@body= @stringcolumnnames,
@subject = 'column names comma-delimited- Automated DB email',
@attach_query_result_as_file = 1,
@query_result_header = 1,
@query_no_truncate = 1,
@query_result_width=32767,
@query_attachment_filename ='ColumnNames.txt'
实际通过电子邮件发送的附件被截断为最大 65 KB。
解决方案
推荐阅读
- asp.net - Asp.net 页面抛出站点无法访问
- woocommerce - 在没有点击事件的情况下运行 Ajax 脚本
- javascript - 有没有办法在 typecipt 程序中获取类的详细信息,以便我可以将这些详细信息传递给记录器(winston)?
- asp.net - AspNetCore 3.0 - HTTP 错误 500.0 - ANCM 进程内处理程序加载失败
- api - 为什么不在 PayPal API 中使用“platform_fees”?
- mysql - 在 SQL 表中存储记录数
- java - 如何通过省略中介类来简化改造
- ios - 音频未播放 Xcode 10.1 Swift 4
- c# - 为什么我在 Microsoft Visual Studio 2019 中看不到设计器视图?
- python - 将 CS:GO 输出文件同步到 VPS