2016-05-12 17 views
1

CSVファイルで動作するコンソールアプリケーションを作成し、データをSQL Serverテーブルにロードします。このアプリケーションはSSIS Execute Process Taskから呼び出されます。SSISプロセスに例外を渡します

残念ながら私はSSISパッケージを知りませんでしたが、どういうふうに例外を受け入れてSSISプロセスに渡すことができるので、フローをリダイレクトできますか?パターンは何ですか?私は例外やいくつかのメッセージを渡すことができるこのようなパイプや何かがありますか?

答えて

1

実行プロセスタスクには、通信用の3つのチャネル(stdin、stdout、stderr)があります。

エラーをそのまま伝播することはできませんが、標準のエラーメッセージとしてシリアル化して、それをSSIS内の変数に割り当てることができます。次に、エラーメッセージを.NETレベルの例外に再構成するスクリプトタスクを継承する必要があります。これは、変数stderrに値が設定されている場合に呼び出されると仮定して安価で怠惰な方法を取ることです。プロセスが悪く、SSISパッケージに失敗したり、必要な回避策を講じてください。

後者は、より制御の失敗である一方で、例外で失敗し、パッケージ内の旧そうな結果...

プロセス・タスクの参照質問

+0

答えをありがとう。私はあなたの努力に感謝しますが、どちらが正しいかわからないので、何の答えも受け入れることができません。 –

+0

私が質問を正しく理解していれば、最初の文とこの答えの2番目の文の前半が関係しているようです。もう一つの答えは完全に無関係です。 –

0

エラーを適切に処理できる特定のタスクのパッケージにEvent Handlerを追加することができます。あなたは外部のアプリケーションを呼び出しているので、正確な例外をSSISに戻すことについては不明です。

+0

を実行するには、あなたをありがとう私が興味を持っているのはまさにそれです。私たちは0以外のmainメソッドから戻ってくることができますか?実際に私は誰かのためのアプリケーションを開発しており、彼は今私にこの質問をしています。彼は例外としてメインメソッドから1を返す方法を試みたようだが、それはうまくいかないと言っているし、文字通りSSISについて何も知らないので、それを確認することさえできない。 –

関連する問題