سؤال

أنا أستخدم مشغل على جدول لإرسال بريد إلكتروني باستخدام 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 ؟؟؟؟

شكرًا.

هل كانت مفيدة؟

المحلول

لا أعتقد أن هذا ممكن. كما هو محدد في الوثائق ل sp_send_dbmail:

"عند تحديد استعلام ، يتم تنسيق مجموعة النتائج كنص مضمّن. يتم إرسال البيانات الثنائية في النتيجة بتنسيق سداسي عشري.[تم اضافة التأكيدات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top