我创建了一个包,它从批处理文件中获取一个变量并将其用于执行。
我从批处理文件发送它:
退出%输出%
并设置执行进程的执行任务但无法进一步访问它。
请帮忙。!
答案 0 :(得分:3)
我认为您应回显变量%Output%,而不是使用退出命令。
以下示例显示如何将字符串从批处理文件传递到SSIS:
Success
。脚本任务代码: (使用下面给出的代码替换脚本任务中的Main()方法)
VB 可在 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: