次の方法で共有


プロセス実行タスク

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

Integration Services には、パッケージの実行など、ワークフロー操作を実行するその他のタスクが含まれます。 詳細については、「パッケージ実行タスク」を参照してください。

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

次の表は、プロセス実行タスクのカスタム ログ エントリの一覧です。 詳細については、「 Integration Services (SSIS) のログ記録 とログ 用のカスタム メッセージ」を参照してください。

ログ エントリ 説明
ExecuteProcessExecutingProcess タスクで実行するように構成されているプロセスに関する情報を提供します。

2 つのログ エントリが書き込まれます。 1 つのエントリには、タスクで実行される実行可能ファイルの名前と場所が含まれ、その他のエントリは、実行可能ファイルの終了を記録します。
ExecuteProcessVariableRouting 実行可能ファイルの入力と出力にルーティングされる変数に関する情報を提供します。 ログ エントリは、stdin (入力)、stdout (出力)、および stderr (エラー出力) に書き込まれます。

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

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

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

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

プロパティの設定

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

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

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

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

@variable1 + " " + @variable2

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

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

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

  • Microsoft Visual Basic を使用してアプリケーションを記述する場合は、 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 # プログラミング ガイド」の「Command-Line 引数 (C# プログラミング ガイド)」を参照してください。

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

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

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

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

こちらもご覧ください

Integration Services タスク
制御フロー