从SSIS执行SQL任务返回Integer值

时间:2012-09-24 13:23:20

标签: sql-server-2005 ssis parameter-passing

我正在使用SQL Server 2005 Business Intelligence Studio,并且很难从一个非常简单的执行SQL任务返回一个整数值。 对于一个非常简单的测试,我将SQL语句编写为:     

Select 35 As 'TotalRecords'

然后,我将ResultSet指定为

ResultName = TotalRecords and
VariableName = User::TotalRecords

执行此操作时,将执行该语句,但该变量没有更新的值。但是,它具有我在变量定义时指定的默认值。

返回日期变量有效,但整数变量不起作用。指定的User::TotalRecords类型是包范围内的Int32。

感谢任何提示

2 个答案:

答案 0 :(得分:11)

结果名称的值不正确。尝试使用基于序数(位置)的方法。

OLE或ADO.NET执行SQL任务的基本设置

enter image description here

这里我为结果集中的zeroeth列指定了序数0。

enter image description here

在这里,您可以看到原始变量及其值(-1,-2)以及两者的运行时值35。

enter image description here

答案 1 :(得分:0)

一旦你的包完成,你的变量就会恢复到默认状态。如果你使用断点或msgbox,你会发现在执行期间你的变量确实有值。