我創建了一個包,它從批處理文件中獲取一個變量並將其用於執行。將批處理文件中的變量傳遞給SSIS包
我從批處理文件發送它:
退出%輸出%
和執行processTask的設置輸出,但不能夠進一步訪問。
請幫忙。
我創建了一個包,它從批處理文件中獲取一個變量並將其用於執行。將批處理文件中的變量傳遞給SSIS包
我從批處理文件發送它:
退出%輸出%
和執行processTask的設置輸出,但不能夠進一步訪問。
請幫忙。
我覺得你應該echo變量%Output%而不是用退出命令。
以下示例顯示瞭如何從批處理文件字符串傳遞給SSIS:
Success
在批處理執行處理任務後添加。腳本任務代碼:(使用下面給出的代碼替換主要在你的腳本任務()方法)
VB Main()方法可以在使用代碼SSIS 2005 and above
Public Sub Main()
Dim varCollection As Variables = Nothing
Dts.VariableDispenser.LockForRead("User::BatchOutput")
Dts.VariableDispenser.GetVariables(varCollection)
MessageBox.Show(varCollection("User::BatchOutput").Value.ToString())
Dts.TaskResult = ScriptResults.Success
End Sub
C# Main()方法的代碼只能用於SSIS 2008 and above
。
public void Main()
{
Variables varCollection = null;
Dts.VariableDispenser.LockForRead("User::BatchOutput");
Dts.VariableDispenser.GetVariables(ref varCollection);
MessageBox.Show(varCollection["User::BatchOutput"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;
}
希望有幫助。
截圖#1:
截圖#2:
截圖#3:
截圖#4:
非常感謝您的幫助... 但看不到任何屏幕截圖在這裏... – Amruta 2011-06-02 06:13:18
是的!它的工作。再次感謝你Siva。 – Amruta 2011-06-02 11:19:58
我無法通過相同的代碼執行另一個批處理文件... 你能找出批處理文件中的錯誤? 批處理文件是: @echo OFF DTEXEC/F 「d:\ CHORD_LOAD_PACKAGE \ CHORD_LOAD_PACKAGE \ LOAD_SECURITY.dtsx」/ REPORTING E> d:\ Loagfile.log 如果%ERRORLEVEL%== 1套%OUTPUT%= 「S」 如果%ERRORLEVEL%!= 1套%OUTPUT%= 「F」 回聲 「EXCEL」 出口0 – Amruta 2011-06-06 09:22:35
這是很難理解你的問題是什麼。你必須更好地解釋你的問題。你如何調用你的bat文件。退出是退出當前命令執行的命令,是你想要的嗎? – 2011-05-26 09:01:59