Share via


執行處理工作

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

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

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

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

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

@variable1 + " " + @variable2

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

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

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

  • 如果您使用 Microsoft Visual Basic 2005 撰寫應用程式,請設定 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 屬性>主題。

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

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

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

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

其他相關工作

Integration Services 包含執行工作流程作業的其他工作,例如執行封裝。

如需有關這些工作的詳細資訊,請按下列其中一個主題:

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

下表列出「執行處理」工作的自訂記錄項目。如需詳細資訊,請參閱<在封裝中實作記錄>和<自訂訊息以進行記錄>。

記錄項目

描述

ExecuteProcessExecutingProcess

提供將工作設定為執行之相關的程序資訊。

將會寫入兩個記錄項目。其中一個包含工作所執行之可執行檔的名稱和位置的相關資訊,另一個項目則記錄可執行檔的結束。

ExecuteProcessVariableRouting

提供有關哪些變數會傳到可執行檔之輸入和輸出的相關資訊。將會寫入 stdin (輸入)、stdout (輸出) 和 stderr (錯誤輸出) 的記錄項目。

設定執行處理工作

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

如需有關可以在「SSIS 設計師」中設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何在「SSIS 設計師」中設定這些屬性的詳細資訊,請按下列主題:

以程式設計的方式設定執行處理工作

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

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。

變更記錄

更新的內容

  • 已提供下列關於設定 [Arguments] 屬性的資訊:

    • 示範如何使用運算式設定屬性的範例。

    • 示範如何在應用程式中設定 My.Application.CommandLineArgs 屬性來取得引數的程式碼範例。