sql-server - Azure 逻辑应用程序:如何将单个 For Each 变量传递给执行存储过程步骤?
问题描述
我正在使用 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
传递给存储过程 key ReportFileName
。
如何将此变量传递给我的存储过程?
解决方案
推荐阅读
- python - 关闭 QWidget 窗口
- niagara-4 - 尼亚加拉的 Obix 解析器
- python - 为什么我需要使用 [6] 来分割以下代码中的时间?
- java - 选择超过 10 张图像时应用程序崩溃
- html - 有没有办法只使用 html 和 css 而不是 javascript 创建网站弹出菜单?
- php - 闭包成员内部的PHP引用数组
- javascript - 用 javascript 动画 svg 背景
- angular - 无法在angular5中访问模板/ html中的私有变量
- java - 评估 SpringEL 表达式的 Spring Boot 异常
- ssh - 通过 Mobaxterm 的 VSCode 无法移动、调整大小或最大化