プロセス実行タスク

プロセス実行タスクは、SQL ServerIntegration Services パッケージ ワークフローの一部として、アプリケーションまたはバッチ ファイルを実行します。Microsoft Excel や Microsoft Word などの標準的なアプリケーションを開くためにプロセス実行タスクを使用することもできますが、一般に、このタスクはデータ ソースを処理対象とするビジネス アプリケーションやバッチ ファイルを実行する場合に使用します。たとえば、プロセス実行タスクを使用して、圧縮されたテキスト ファイルを展開できます。さらに、そのテキスト ファイルをパッケージ内のデータ フローのデータ ソースとして使用できます。その他の例として、プロセス実行タスクを使用し、毎日の売り上げレポートを生成するカスタムの Visual Basic アプリケーションを実行することもできます。その後、このレポートをメール送信タスクに添付し、配信リストに転送できます。

プロセス実行タスクがカスタム アプリケーションを実行するとき、アプリケーションには、次のいずれかまたは両方の方法で入力が提供されます。

  • StandardInputVariable プロパティの設定で指定された変数。変数の詳細については、「Integration Services の変数」および「パッケージでの変数の使用」を参照してください。

  • [引数] プロパティの設定で指定された引数。たとえば文書を Word で開く場合、引数で .doc ファイルの名前を指定できます。

1 回のプロセス実行タスクで複数の引数をカスタム アプリケーションに渡すには、それぞれの引数を空白で区切って指定します。引数そのものに空白を含めることはできません。空白を含めた場合、タスクは実行されません。変数の値を引数として渡す際には、式を使用できます。次の例では、式を使って 2 つの変数の値を空白で区切り、引数として渡します。

@variable1 + " " + @variable2

プロセス実行タスクの各種プロパティを設定する際にも、式を使用できます。

StandardInputVariable プロパティを使用して入力を提供するようにプロセス実行タスクを構成した場合は、アプリケーションから Console.ReadLine メソッドを呼び出して、入力を読み取ります。詳細については、Microsoft.NET Framework クラス ライブラリで、Console.ReadLine のトピックを参照してください。

[引数] プロパティを使用して入力を提供するようにプロセス実行タスクを構成した場合は、次のいずれかの手順を実行して、引数を取得します。

  • Microsoft Visual Basic 2005 を使用してアプリケーションを作成する場合は、My.Application.CommandLineArgs プロパティを設定します。次の例では、My.Application.CommandLineArgs プロパティを使用して、2 つの引数を取得しています。

    Dim variable1 As String = My.Application.CommandLineArgs.Item(0)
    Dim variable2 As String = My.Application.CommandLineArgs.Item(1) 
    

    詳細については、Visual Basic のリファレンスで、My.Application.CommandLineArgs のトピックを参照してください。

  • Microsoft Visual C# を使用してアプリケーションを作成する場合は、Main メソッドを使用します。

    詳細については、『C# プログラミング ガイド』の「コマンド ライン引数 (C# プログラミング ガイド)」を参照してください。

プロセス実行タスクには、StandardOutputVariable プロパティおよび StandardErrorVariable プロパティがあります。それぞれ、アプリケーションの標準出力とエラー出力を取り込むための変数を指定できます。

さらに、プロセス実行タスクを構成することにより、作業ディレクトリ、タイムアウト時間、または実行可能ファイルが正常に実行されたことを示す値を指定できます。また、実行可能ファイルのリターン コードが成功を示す値と一致しない場合、または指定された場所で実行可能ファイルが見つからない場合に、失敗するように構成できます。

その他の関連タスク

Integration Services には、パッケージの実行など、ワークフロー操作を実行するその他のタスクが含まれます。

これらのタスクの詳細については、次のトピックのいずれかを参照してください。

プロセス実行タスクで使用できるカスタム ログ エントリ

次の表は、プロセス実行タスクのカスタム ログ エントリの一覧です。詳細については、「パッケージへのログ機能の実装」および「ログ記録用のカスタム メッセージ」を参照してください。

ログ エントリ

説明

ExecuteProcessExecutingProcess

タスクで実行するように構成されているプロセスに関する情報を提供します。

2 つのログ エントリが書き込まれます。1 つのエントリには、タスクで実行される実行可能ファイルの名前と場所が含まれ、もう 1 つのエントリは、実行可能ファイルの終了を記録します。

ExecuteProcessVariableRouting

実行可能ファイルの入力と出力にルーティングされる変数に関する情報を提供します。ログ エントリは、stdin (入力)、stdout (出力)、および stderr (エラー出力) に書き込まれます。

プロセス実行タスクの構成

プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。

SSIS デザイナーで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

SSIS デザイナーでこれらのプロパティを設定する方法については、次のトピックを参照してください。

プログラムによるプロセス実行タスクの構成

プログラムによってこれらのプロパティを設定する方法については、次のトピックを参照してください。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。