我正在使用Azure Logic App执行接受字符串输入的存储过程。
这是存储过程的定义:
ALTER PROCEDURE [ResMgmt].[usp_ExtractReportBlob]
(@ReportFileName VARCHAR(255),
@ReportBlobName VARCHAR(255) OUTPUT)
AS
BEGIN
DECLARE @SQL VARCHAR(MAX),
@ReportSPROCName VARCHAR(MAX);
SET @ReportSPROCName = (SELECT ReportSPROCName
FROM ResMgmt.ReportMetadata
WHERE ReportFileName = @ReportFileName);
SET @SQL = 'EXEC ' + @ReportSPROCName + ';';
SELECT (@SQL);
SET @ReportBlobName = '/<azure-storage>/' + @ReportFileName;
RETURN @ReportBlobName;
END;
存储过程最终将输出一个字符串,该字符串将由Logic App使用,但首先是……我无法将我的Attachments Name
迭代器用作存储过程的输入。存储过程接受参数ReportFileName
,该参数将来自For Each步骤的迭代器:
您可以看到,在代码视图中,我正在item()
结构的body
键中动态引用json
:
但是我最终在调试中遇到此错误:
从调试运行时,出现上述错误。看来json
格式是正确的,所以我不明白为什么会发生错误。例如,我可以确认正确的字符串值DTG Active Client List Daily.csv
已传递到存储过程键ReportFileName
。
如何将此变量传递给存储过程?