5

テーブルでトリガーを使用して、sp_send_dbmailを使用してメールを送信しています。

画像タイプのメールに添付ファイルを含めたい。

jpegの生データは、バイナリ型のndl_Image列に格納されます。

私は次のコードを持っています:-

DECLARE @ReferenceID varchar(max)
DECLARE @Recipient varchar(Max)
DECLARE @Body varchar(max)
DECLARE @Subject varchar(max)
DECLARE @Q varchar(max)

--Get the EntryId and FormID for the inserted data.
SET @ReferenceID = 40
SET @Recipient = (SELECT ndl_CategorySendTo FROM ndl_config WHERE ndl_CategoryName = 'Dead Animal')
SET @Body = '<html>A new request has been created.</html>'
SET @Subject = 'NDL Report It: New Request #'+@ReferenceID
SET @Q = 'SELECT ndl_Image from dbo.ndl_data where ndl_ID ='+@ReferenceID
--Execute the stored procedure to send mail.
EXEC msdb.dbo.sp_send_dbmail

--Pass it the following paramaters.
@recipients=@Recipient,
@body=@Body, 
@subject=@Subject,
@profile_name='NDLProfile',
@body_format ='HTML',
    @execute_query_database='NDL_MX',
@query = @Q,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'image.jpg'

これは問題なく動作しますが、最後の行をコメントアウトすると、クエリがテキストファイルとして返されるようです。

添付ファイルをjpegファイルとして取得するにはどうすればよいですか????

ありがとう。

4

2 に答える 2

0

これは不可能だと思います。SP_SEND_DBMAILのドキュメントで指定されているとおり:

「クエリが指定されている場合、結果セットはインライン テキストとしてフォーマットされます。 結果のバイナリ データは 16 進形式で送信されます。 [強調を追加]

于 2010-09-13T14:32:53.947 に答える