執行處理工作

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

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

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

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

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

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

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

執行處理工作的組態

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

如需如何在 SSIS 設計師中設定這些屬性的詳細資訊,請參閱在控制項流程中新增或刪除工作或容器

屬性設定

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

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

@variable1 + " " + @variable2

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

當您使用 StandardInputVariable 屬性設定「執行處理」工作來提供輸入時,請從應用程式呼叫 Console.ReadLine 方法來讀取輸入。 如需詳細資訊,請參閱 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)
    

    如需詳細資訊,請參閱 ConsoleApplicationBase.CommandLineArgs 屬性

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

    如需詳細資訊,請參閱命令列引數 (C# 程式設計手冊)

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

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

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

如需以程式設計方式設定這些屬性的詳細資訊,請參閱 ExecuteProcess

執行處理工作編輯器 (一般頁面)

使用 [執行處理工作編輯器] 對話方塊的 [一般] 頁面,來命名和描述執行處理工作。

選項。

名稱
為執行處理工作提供唯一的名稱。 這個名稱是作為工作圖示中的標籤使用。

注意

工作名稱在封裝內必須是唯一的。

說明
輸入執行處理工作的描述。

執行處理工作編輯器 (處理頁面)

使用 [執行處理工作編輯器] 對話方塊的 [處理] 頁面,即可設定執行處理的選項。 這些選項包括要執行的可執行檔、其位置、命令提示字元引數,以及提供輸入和擷取輸出的變數。

選項。

RequireFullFileName
指出如果在指定位置找不到可執行檔時,工作是否失敗。

可執行檔
輸入要執行的可執行檔名稱。

引數
提供命令提示字元引數。

WorkingDirectory
鍵入包含可執行檔的資料夾路徑,或選取瀏覽按鈕 (...) 並尋找資料夾。

StandardInputVariable
選取變數來提供處理序的輸入,或選取 [<新增變數...>] 建立新的變數:

相關主題:Integration Services (SSIS) 變數

StandardOutputVariable
選取變數來擷取處理序的輸出,或選取 [<新增變數...>] 建立新的變數。

StandardErrorVariable
選取變數來擷取處理序的錯誤輸出,或選取 [<新增變數...>] 建立新的變數。

FailTaskIfReturnCodeIsNotSuccessValue
指出如果處理序的結束碼和 SuccessValue中指定的值不同時,工作是否失敗。

SuccessValue
指定可執行檔要表示成功時將傳回的值。 依預設,此值設定為 0

TimeOut
指定處理序可以執行的秒數。 若值為 0,表示不使用逾時值,則處理序會一直執行到完成或發生錯誤為止。

TerminateProcessAfterTimeOut
指出是否要在 TimeOut 選項指定的逾時期限之後,強制結束處理序。 只有在 [逾時] 不是 0 時,才可以使用此選項。

WindowStyle
指定用來執行處理序的視窗樣式。