2

SQLの専門家、

SQL Server 2000 プロシージャの messagefile パラメータを使用して、xp_smtp_sendmail外部テキスト ファイルをメールの本文として使用していました。最近 SQL Server 2005 に移行しましたが、このパラメータは にはありませんsp_send_dbmail

SQL Server 2005 で同じことを行う簡単な方法はありますか?

ありがとう !

4

1 に答える 1

1

いいえ、にメッセージファイルはありませんsp_send_dbmail

私はこの主題に関するいくつかの記事を読んでいますが、あなたにはいくつかの選択肢があります。CLR関数を使用してファイルを取得し、テキストファイルを読み書きしてから、メールの本文に返信を入れます。次に、このようなもの:

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

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'something',
@recipients = 'someuser@somemail.com',
@body = @text,
@subject = 'Hello my friend' ;

または、を使用しOPENROWSETてファイルをvarcharにロードすることもできます(詳細はこちら)。

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 = 'someuser@somemail.com',
@body = @LotsOfText,
@subject = 'Hello my friend' ;

テキストファイルのTSQLは、SQLでファイルを読み取るための優れたリファレンスです。

これがお役に立てば幸いです

于 2012-04-08T23:48:15.397 に答える