2012-04-08 14 views
2

SQL-Experten,nachrichten Parameter SQL Server 2000/2005

ich die Parameter nachrichten von SQL Server 2000 xp_smtp_sendmail Prozedur verwenden externen Textdateien als Körper meiner Mails. Wir haben kürzlich zu SQL Server 2005 migriert und dieser Parameter ist in sp_send_dbmail nicht vorhanden.

Gibt es eine einfache Möglichkeit, das gleiche in SQL Server 2005

Dank zu tun!

Antwort

1

Nein, es gibt keine Nachrichtendatei in sp_send_dbmail.

Ich habe einige Artikel über das Thema gelesen und ich habe eine Option für Sie. Holen Sie sich die Datei mit einer CLR function to Read and Write Text Files und dann die Rückkehr in den Körper der Mail. Dann etwas wie folgt aus:

DECLARE @text VARCHAR(MAX) 
EXEC @text=ReadTextFile 'C:\YourFile.txt' 

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'something', 
@recipients = '[email protected]', 
@body = @text, 
@subject = 'Hello my friend' ; 

Oder können Sie die OPENROWSET verwenden und die Datei in einem varchar (weitere Informationen here) laden:

DECLARE @LotsOfText VARCHAR(MAX) 
SELECT @LotsOfText = BulkColumn 
FROM OPENROWSET(BULK 'C:\YourFile.txt', SINGLE_BLOB) AS x 

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'something', 
@recipients = '[email protected]', 
@body = @LotsOfText, 
@subject = 'Hello my friend' ; 

The TSQL of Text Files ist eine gute Referenz-Datei in SQL zum Lesen.

Ich hoffe, das wird helfen

+0

Arion, ich habe die OPENROWSET Alternative und ich kann sagen, es funktioniert reibungslos. Ich konnte sogar 'htm' Dateien importieren, indem ich SINGLE_BLOB durch SINGLE_CLOB ersetzte. Meine E-Mail-Körper sind jetzt mit genau dem geladen, was ich wollte. Toll ... und nochmals vielen Dank! – user1320877

+0

Kein Problem. Freut mich zu helfen. Vielleicht können Sie die Antwort dann akzeptieren? .. und denken Sie daran, die Antwort zu verbessern, die Sie für gut halten. Das gibt uns allen ein warmes, flauschiges Gefühl: P – Arion

Verwandte Themen