从SSIS脚本任务/脚本组件返回输出参数或变量

从SSIS脚本任务/脚本组件返回输出参数或变量,ssis,sql-server-2008-r2,xp-cmdshell,Ssis,Sql Server 2008 R2,Xp Cmdshell,是否可以使用xp\u cmdshell从存储过程调用的SSIS脚本任务返回输出参数 到目前为止,我找到的所有示例都显示了如何为dts包变量赋值等;并通过消息框显示它们,但我看到的每个示例都显示脚本任务只返回Dts.TaskResult=intScriptResults.Success;或Dts.TaskResult=intScriptResults.Failure 基本上,我有一个脚本任务,它从一个dll调用中获取几个值,并按预期工作;通过消息框验证值;但我无法找出如何将这些返回到最初执行SSI

是否可以使用xp\u cmdshell从存储过程调用的SSIS脚本任务返回输出参数

到目前为止,我找到的所有示例都显示了如何为dts包变量赋值等;并通过消息框显示它们,但我看到的每个示例都显示脚本任务只返回Dts.TaskResult=intScriptResults.Success;或Dts.TaskResult=intScriptResults.Failure

基本上,我有一个脚本任务,它从一个dll调用中获取几个值,并按预期工作;通过消息框验证值;但我无法找出如何将这些返回到最初执行SSIS包的存储过程

我错过了什么明显的东西吗?请提供一个功能代码示例和/或控制流/数据流等的屏幕截图,说明如何进行端到端。。。例如:从存储过程->执行*.dtsx包,传递参数,包括输出参数;以及同一存储过程如何在这种类型的调用中读取这些输出参数;当结果返回时


提前谢谢

我不知道是否可以将脚本任务中的值返回给调用存储过程,但这里有一种替代方法,我可以这样做,并可能得到最终结果。创建本地SSIS变量,这些变量可以捕获脚本任务中当前显示在消息框中的值。例如,创建一个名为mySSISVariable的变量:

在任务的脚本屏幕上,确保选择mySSISVariable作为ReadWriteVariables:

现在,在脚本任务中,将此SSIS变量分配给当前输出到消息框的任何对象:Dts.Variables[User::myssisviable].Value=returnedValue;既然SSIS将此值存储在一个变量中,您可以在调用新存储过程时使用它,那么在一个执行SQL任务中,调用存储过程应该对这些变量执行的任何操作都可以执行吗?因此,usp_MyNewsStoredProcedure?,?,?:

确保将SSIS用户变量指定为输入参数在本例中,我使用了OLE DB,这说明了如何使用其他变量来实现这一点:


我不知道是否可以将脚本任务中的值返回给调用存储过程,但这里有一种替代方法,我可以这样做,并可能得到最终结果。创建本地SSIS变量,这些变量可以捕获脚本任务中当前显示在消息框中的值。例如,创建一个名为mySSISVariable的变量:

在任务的脚本屏幕上,确保选择mySSISVariable作为ReadWriteVariables:

现在,在脚本任务中,将此SSIS变量分配给当前输出到消息框的任何对象:Dts.Variables[User::myssisviable].Value=returnedValue;既然SSIS将此值存储在一个变量中,您可以在调用新存储过程时使用它,那么在一个执行SQL任务中,调用存储过程应该对这些变量执行的任何操作都可以执行吗?因此,usp_MyNewsStoredProcedure?,?,?:

确保将SSIS用户变量指定为输入参数在本例中,我使用了OLE DB,这说明了如何使用其他变量来实现这一点: