2008-10-14 6 views
0

J'ai certains fichiers stockés dans une table SQL Server 2005 dans une colonne VARBINARY(MAX). J'ai besoin d'envoyer ces fichiers aux utilisateurs selon un calendrier, et même si je peux écrire un service C# pour extraire et envoyer l'email sp_send_dbmail semblerait être parfait pour mon but. Le code J'utilise ressemble à ceci:Comment utiliser sp_send_dbmail pour envoyer le contenu d'une colonne VARBINARY?

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'SQL Mail Profile', 
@recipients = 'emailaddress', 
@query = 'set nocount on; select CAST(content AS varchar(MAX)) from files where fileid=''xxx''' , 
@subject = 'Random File', 
@attach_query_result_as_file = 1, 
@query_attachment_filename = 'random file.pdf', 
@query_result_no_padding = 1, 
@query_result_header = 0, 
@query_no_truncate = 1; 

Lorsque j'utilise la requête directement j'obtenir la représentation de texte du fichier PDF, mais quand j'utilise le code ci-dessus j'obtenir une version tronquée du fichier (toujours 792 octets). Cela semblerait suggérer qu'il existe un réglage quelque part qui contrôle cela, mais bien que je puisse trouver des paramètres qui contrôlent la taille du document, ils sont bien plus gros que le fichier que j'essaye de poster!

Quelqu'un a-t-il déjà vu cela ou a-t-il une idée de l'endroit où chercher?

+0

Vous devriez probablement inclure spécifiquement les paramètres que vous avez déjà vérifié afin que les gens savent que les choses à rabais. –

Répondre

Questions connexes