ライブラリmicrosoft.sqlserver.dts.runtime.packageを使用して、DTEXEC(/ REP EWCDI)で使用される同等のオプションを.NETからSSISパッケージにプッシュすることは可能ですか??(/ REP EWCDIはDTEXECのレポート機能です)
2 に答える
/ REPコマンドラインオプションは、DTEXEC.EXEの機能です。
DTEXECは、(概念的には)ssisパッケージの実行を可能にするクラスへの単なるコマンドラインインターフェイスであり、質問ですでにリンクしています。
これらのクラスを使用してパッケージを自分で起動する場合は、レポート機能も自分で提供する必要があります。これは、派生クラスDefaultEventsクラスを作成することによって行われます。そこで、すべてのOnError、OnInformationなどのメソッドをオーバーライドして、出力を目的の場所にリダイレクトします(エラーと警告の場合はConsole.Error、その他のメッセージの場合はConsole.Out)。
DTEXECが/REPオプションでレベルを指定できるようにするように、出力されるメッセージを制御したい場合は、これも自分で指定する必要があります。例えば。派生イベントクラスにそれぞれのフラグ/プロパティを設定して、実際にメッセージを出力する前にOn*メソッドをチェックインします。
最後に、DTEXECのようなまったく同じメッセージ形式(たとえば、「Begin Error」、「End Error」ブロック)が必要な場合は、派生イベントクラスでもそれをエミュレートする必要があります。
このMSDNページに示されているように、実際にはそれほど難しいことではありません。
ここで「実行中のパッケージからのイベントのキャプチャ」の例を確認してください。
http://msdn.microsoft.com/en-us/library/ms136090.aspx
この例を拡張して、他のイベント(OnInformation、OnWarningなど)も含めることができます。