執行處理工作
「執行處理」工作會隨 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# 程式設計手冊)主題。
「執行處理」工作也包含 StandardOutputVariable 和 StandardErrorVariable 屬性,分別用來指定使用應用程式的標準輸出和錯誤輸出。
此外,您可以設定讓「執行處理」工作指定工作目錄、逾時期限,或表示可執行檔成功執行的值。 如果可執行檔的傳回碼與表示成功的值不符,或在指定的位置找不到可執行檔,亦可將此工作設定為失敗。
執行處理工作的程式設計組態
如需有關以程式設計方式設定這些屬性的詳細資訊,請按下列主題: