首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sp_send_dbmail附件编码

sp_send_dbmail附件编码
EN

Stack Overflow用户
提问于 2008-09-03 21:58:04
回答 3查看 11.4K关注 0票数 4

我正在使用SQL2005中的sp_send_dbmail发送电子邮件,并在附件中包含结果。当附件被发送时,它是UCS-2编码的,我希望它是ANSI或UTF-8。

下面是SQL语句

代码语言:javascript
复制
EXEC msdb.dbo.sp_send_dbmail
    @recipients = 'temp@example.com'
    , @query = 'DECLARE @string_to_trim varchar(60);SET @string_to_trim = ''1234''; select rtrim(@string_to_trim), ''tom'''
    , @query_result_header=0
    , @subject = 'see attach'
    , @body= 'temp body'
    , @profile_name= N'wksql01tAdmin'
    , @body_format = 'HTML'
    ,@query_result_separator = ','
    ,@query_attachment_filename = 'results.csv'
    ,@query_no_truncate = '0'
    ,@attach_query_result_as_file = 1

我在网上看到了一些评论,说这是用sql2005 SP2修复的,但没有发现是这样的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-03 22:13:00

我认为解决您所看到的问题的唯一方法是使用BCP将数据转储到一个平面文件,然后附加该文件。抱歉,我帮不上忙。:(

票数 0
EN

Stack Overflow用户

发布于 2013-02-03 15:43:24

在对SQL Server2008 R2进行了一些研究之后:

  1. 添加到sp_send_dbmail

EXECUTE AS 'dbo'

  • Replace时,@ANSI_Attachment位=0

如果(@AttachmentsExist= 1)开始.......结束

通过以下方式:

IF(@AttachmentsExist = 1) begin if (@ANSI_Attachment = 1) BEGIN --将临时附件复制到sysmail_attachments插入sysmail_attachments(mailitem_id,文件名,文件大小,附件) SELECT @mailitem_id,文件名,文件大小,convert(可变二进制(最大),子字符串(--从unicode中移除BOM标记convert(可变字符(Max),CONVERT (nvarchar(最大),附件)),2,DATALENGTH(附件)/2)) FROM sysmail_attachments_transfer WHERE uid = @temp_table_uid end else begin --将临时附件复制到sysmail_attachments插入到sysmail_attachments(mailitem_id,文件名,文件大小,附件)选择@mailitem_id,文件名,文件大小,来自sysmail_attachments_transfer的附件,其中uid = @temp_table_uid end END

票数 14
EN

Stack Overflow用户

发布于 2011-04-26 05:17:06

为了使文件成为ANSI/UTF-8

使用此行和其他变量更改msdb中的sp_send_dbmail:@ANSI_Attachment BIT = 0,即

代码语言:javascript
复制
@mailitem_id INT = NULL OUTPUT,
     @ANSI_Attachment BIT = 0
     WITH EXECUTE AS 'dbo'

然后将这一行添加到对sp_send_dbmail的调用中:

代码语言:javascript
复制
@ansi_attachment = 1

那么它应该给你一个ansi附件,而不是unicode。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档