web-dev-qa-db-ja.com

SSISでスクリプトコンポーネントをデバッグする方法

それは単純ですが、私はそれを機能させることができません、そして私は多くの場所で多くの解決策を読みましたが、何も私のために働いていませんでした。どうすればこれを達成できますか?

コードにブレークポイントを設定してパッケージ全体を実行しましたが、それでも機能しませんでした。

21
Jorge

スクリプトコンポーネントは、ブレークポイントの使用をサポートしていません。したがって、パッケージの実行中にコードをステップ実行して値を調べることはできません。次の方法を使用して、スクリプトコンポーネントの実行を監視できます。

_System.Windows.Forms namespace_のMessageBox.Show()メソッドを使用して、実行を中断し、モーダルメッセージを表示します。 (デバッグプロセスが完了したら、このコードを削除してください。)

情報メッセージ、警告、およびエラーのイベントを発生させます。 FireInformation、FireWarning、FireErrorメソッドは、Visual Studioの出力ウィンドウにイベントの説明を表示します。ただし、FireProgressメソッド、Console.Writeメソッド、およびConsole.WriteLineメソッドは、[出力]ウィンドウに情報を表示しません。 FireProgressイベントからのメッセージは、SSISデザイナーの[進行状況]タブに表示されます。

http://Microsoft-ssis.blogspot.com/2011/04/breakpoint-does-not-work-within-ssis.html

28
vamsi

私の問題は64ビットランタイムを使用していた-出力に次のメッセージ「Integration Servicesランタイムの64ビットバージョンで実行しているときはスクリプトタスクをデバッグできません」に気づきました。

これは、32ビットランタイムを(たとえば一時的に)実行することで簡単に修正できます ここ

6
PeterX

ブレークポイントはスクリプトでのみ機能しますタスクスクリプトでは機能しませんコンポーネント

5
Joost

Joostが既に指摘しているように、スクリプトTaskではなくスクリプトComponentのみをデバッグできるSSIS 2008の場合、私は成功しましたを使用して

Trace.Writeline("SSIS .....");

次に、この出力を https://docs.Microsoft.com/en-us/sysinternals/downloads/debugview の適切なol Dbgview.exeでキャプチャしています。 [編集]-> [フィルター]-> [SSIS *を含める]を設定し、これをデスクトップに残しておく場合は、[デバッグビューの履歴の深さ]を99999に設定します。そうしないと、サイズ制限なしでログがいっぱいになります。

1
Barry McDermid

MSブログでは、ブレークポイントはスクリプトでは機能しないと述べていますが、 [〜#〜] msdn [〜#〜] は機能していることを示しているようです。 MSDNの指示に従ってみましたか?

1