SQLの専門家、
SQL Server 2000 プロシージャの messagefile パラメータを使用して、xp_smtp_sendmail
外部テキスト ファイルをメールの本文として使用していました。最近 SQL Server 2005 に移行しましたが、このパラメータは にはありませんsp_send_dbmail
。
SQL Server 2005 で同じことを行う簡単な方法はありますか?
ありがとう !
SQLの専門家、
SQL Server 2000 プロシージャの messagefile パラメータを使用して、xp_smtp_sendmail
外部テキスト ファイルをメールの本文として使用していました。最近 SQL Server 2005 に移行しましたが、このパラメータは にはありませんsp_send_dbmail
。
SQL Server 2005 で同じことを行う簡単な方法はありますか?
ありがとう !
いいえ、にメッセージファイルはありません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でファイルを読み取るための優れたリファレンスです。
これがお役に立てば幸いです