執行處理工作

「執行處理」工作會隨 SQL Server Integration Services 套件工作流程來執行應用程式或批次檔。 雖然可以使用「執行處理序」工作來開啟任何標準的應用程式,例如 Microsoft Excel 或 Microsoft Word,但通常您會使用它來執行處理資料來源的商業應用程式或批次檔。 例如,您可以使用「執行處理」工作展開壓縮的文字檔。 然後封裝就可以使用文字檔做為封裝中資料流程的資料來源。 另一項範例為:您可以使用「執行處理序」工作來執行自訂的 Visual Basic 應用程式,以產生每日的銷售報表。 接著,您就可將報告附加至「傳送郵件」工作,並將報告轉寄到通訊群組清單。

Integration Services 包含執行工作流程作業的其他工作,例如執行封裝。 如需詳細資訊,請參閱 執行封裝工作

執行處理工作上可用的自訂記錄項目

下表列出「執行處理」工作的自訂記錄項目。 如需詳細資訊,請參閱 Integration Services (SSIS) 記錄自訂訊息以進行記錄

記錄項目 描述
ExecuteProcessExecutingProcess 提供將工作設定為執行之相關的程序資訊。

將會寫入兩個記錄項目。 其中一個包含工作所執行之可執行檔的名稱和位置的相關資訊,另一個項目則記錄可執行檔的結束。
ExecuteProcessVariableRouting 提供有關哪些變數會傳到可執行檔之輸入和輸出的相關資訊。 將會寫入 stdin (輸入)、stdout (輸出) 和 stderr (錯誤輸出) 的記錄項目。

執行處理工作的組態

您可以透過 SSIS 設計師或以程式設計方式設定屬性。

如需可在 SSIS Designer 中設定的屬性詳細資訊,請按下列其中一個主題:

如需如何在 SSIS 設計工具中設定這些屬性的詳細資訊,請按下列主題:

屬性設定

當「執行處理」工作執行自訂應用程式時,此工作會透過下列一個或兩個方法提供輸入給應用程式:

  • 您在 [StandardInputVariable] 屬性設定中指定的變數。 如需變數的詳細資訊,請參閱 Integration Services (SSIS) 變數在封裝中使用變數

  • 您在 Arguments 屬性設定中指定的引數。 (例如,如果工作使用 Word 開啟文件,則引數可能命名為 .doc 檔)。

若要在一個「執行處理」工作中將多個引數傳遞到自訂應用程式,請使用空格來分隔引數。 引數不得包含空格,否則此工作將無法執行。 您可以使用運算式以引數的方式傳遞變數值。 在下列範例中,運算式會以引數的方式傳遞兩個變數值,並使用空格來分隔引數:

@variable1 + " " + @variable2

您可以使用運算式來設定各種「執行處理」工作屬性。

當您使用 StandardInputVariable 屬性來設定執行進程工作以提供輸入時,請從應用程式呼叫 Console.ReadLine 方法以讀取輸入。 如需詳細資訊,請參閱 Microsoft .NET Framework 類別庫中的 Console.ReadLine 方法主題。

當您使用 Arguments 屬性設定「執行處理」工作來提供輸入時,請執行下列其中一個步驟來取得引數:

  • 如果您使用 Microsoft Visual Basic 撰寫應用程式,請設定 My.Application.CommandLineArgs 屬性。 下列範例設定 My.Application.CommandLineArgs 屬性來擷取兩個引數:

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

    如需詳細資訊,請參閱 Visual Basic 參考中的 My.Application.CommandLineArgs 屬性 Visual Basic 主題。

  • 如果您使用 Microsoft Visual C# 撰寫應用程式,請使用 Main 方法。

    如需詳細資訊,請參閱《C# 程式設計手冊》中的 命令列引數 (C# 程式設計手冊)主題。

「執行處理」工作也包含 StandardOutputVariableStandardErrorVariable 屬性,分別用來指定使用應用程式的標準輸出和錯誤輸出。

此外,您可以設定讓「執行處理」工作指定工作目錄、逾時期限,或表示可執行檔成功執行的值。 如果可執行檔的傳回碼與表示成功的值不符,或在指定的位置找不到可執行檔,亦可將此工作設定為失敗。

執行處理工作的程式設計組態

如需有關以程式設計方式設定這些屬性的詳細資訊,請按下列主題:

另請參閱

Integration Services 工作
控制流程