Ssis
如果返回 false,則 SSIS“執行程序任務”失敗
我有一個呼叫 Powershell 並檢查文件夾是否為空的“執行程序任務”。如果返回 $false,我希望 SSIS 作業失敗。
這是程式碼
param ([string] $FolderLocation) $FolderLocation = 'C:\Temp\IsFolderEmpty\' if( (Get-ChildItem $FolderLocation | Measure-Object).Count -eq 0) { #Folder Empty return $true } Else { return $false }
每當我在 SSIS 中執行它時,它總是執行,無論是否
$true
返回$false
。我嘗試創建一個新變數並在其中使用它,StandardOutputVariable
但沒有任何運氣。
嘗試使用腳本任務檢查設置為
StandardOutputVariable
執行流程任務的 SSIS 變數的值。如果此值為 false,則該Dts.Events.FireError
方法會引發一個錯誤事件,該事件可用於使包失敗。下面的程式碼是一個使用 C# 的範例,當變數為false
. 需要在ReadOnlyVariables
腳本任務欄位中設置 SSIS 變數以允許對其進行訪問。if (!Convert.ToBoolean(Dts.Variables["User::YourVariable"].Value)) { Dts.Events.FireError(0, "Error", "Error Raised from Folder Check", null, 0); }