執行處理工作
「執行處理」工作會隨 SQL Server Integration 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 設計師」中設定這些屬性的詳細資訊,請按下列主題:
以程式設計的方式設定執行處理工作
如需有關以程式設計方式設定這些屬性的詳細資訊,請按一下以下主題:
|