如何在SSIS SQL任务中使用标量值SQL函数设置变量

时间:2013-02-19 18:27:14

标签: ssis

我有一个tSQL标量值函数

ALTER FUNCTION [dbo].[MyDB_GetJobId]
(
)
RETURNS [uniqueidentifier]

其结果需要进入SSIS用户变量vJobId,声明为String。 SqlStatementSource是EXEC ? = dbo.MyDB_GetJobId();结果集如下:Result Name:0; Variable NameUser::vJobId

它不起作用,错误信息如下

"EXEC ? = dbo.MyDB_GetJobId()" failed with the following error: "No value given for one or more required parameters.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

连接正常(一个普通的SQL请求运行正常),没有输入参数,......你能帮忙吗?感谢。

1 个答案:

答案 0 :(得分:14)

我最初试图使用带有Return方向的参数映射,但这是不正确的。

相反,我的Execute SQL Task配置如图所示。我的ResultSet是“单行”。我的SQLStatement只是“SELECT dbo.MyDB_GetJobID()”

Execute SQL General tab

在结果集选项卡中,由于这是单行的ResultSet类型,因此我们为每列提供基于零的序数系统的映射。

Execute SQL Result Set tab

这是一个演示将结果分配给变量User::SingleRow的示例。您可以忽略Other,因为我试图通过参数映射选项卡使其工作。

enter image description here