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

Yul*_*a V 4 ssis

我有一个tSQL标量值函数

ALTER FUNCTION [dbo].[MyDB_GetJobId]
(
)
RETURNS [uniqueidentifier]
Run Code Online (Sandbox Code Playgroud)

其结果需要进入SSIS用户变量vJobId,声明为String.SqlStatementSource是EXEC ? = dbo.MyDB_GetJobId(); 结果集如下Result Name:: 0; Variable Name:User::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请求运行正常),没有输入参数,......你能帮忙吗?谢谢.

bil*_*nkc 15

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

相反,我按照所示配置了我的执行SQL任务.我ResultSet是一个"单行".我SQLStatement只是"SELECT dbo.MyDB_GetJobID()"

执行SQL常规选项卡

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

执行SQL结果集选项卡

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

在此输入图像描述