13 | モデルケース12「処理完了通知やエラーを管理者にメール送信する」 | ||
一般的なSSISの運用では、SQL Server Agentなどを利用してパッケージを自動処理させることが多いと思います。そのため、SSISデザイナのようなビジュアルな画面で処理結果を確認することができません。処理結果として出力されたデータを見たり、SQL Server Agentのログを見たりする必要があります。 そんなときに便利なのが「メール送信タスク」です。このタスクを利用すると、正常終了したとき、あるいはエラーが発生したときなど、タスクフローの一部として指定アドレスにメール送信することができます。また、エラーデータをテキストファイルに出力するようになっている場合、そのファイルをメールに添付して送信することもできます。 ここでは、モデルケース6「データ転送時のエラーを処理する」の「エラーレコードをファイル出力して続行させる方法」で作ったパッケージにメール送信のタスクを追加し、すべての処理が完了した場合に処理完了の通知を管理者にメールで送るとともに、エラーデータが出力されたファイルを添付するような仕組みを作ってみます。
なお、ここで設定した手順の場合、途中のタスクで予期せぬエラーが発生した場合、そこでパッケージの処理が停止しますので、最後に配置されたタスクであるメール送信は実行されません。メールが来なければ何らかのエラーが発生したと判断する必要があります。 また、転送時のエラーデータが1件もない場合、エラーが出力されるファイルは空(今回の場合は正確には見出し行のみ)ですが、それでも空のファイルがメールに添付されます。添付ファイルを開いてそこにデータがなければデータ変換上のエラーはなかったと判断する必要があります。 補足
「MessageSourceType」に「ファイル接続」を指定すると、指定されたファイルの内容をそのままメール本文として書き出すことができます。その場合、「MessageSource」にはそのファイルへの接続マネージャ名を指定します。またこの場合、任意の文章を本文に付け加えることはできません。なおこの設定の場合、送信メールの文字コードは「UTF-8」であるため、Shift-JIS形式であるテキストファイルに全角文字が含まれていると下図のように文字化けします。 補足
認証方式やポート番号など、SMTPについてはあまり細かい設定ができません。そのため、SMTPサーバーによってはこのタスクが使えない場合もあります。 |
|||
|
Copyright © T'sWare All rights reserved |