过程或函数在逻辑应用程序中指定的参数太多

Procedure or function has too many arguments specified in Logic App

我对 Azure 逻辑应用程序还很陌生。我第一次创建了一个逻辑应用程序,我在其中将 XML 转换为 Json 并使用存储过程将 json 结果保存在 SQL 数据库中。

当接收到 HTTP 请求时 --- HTTP --- 转换 XML --- 初始化 xpathStatement --- Select --- 对于每个 --- 条件(如果为真) --- 执行存储过程 (v2)

其中“Select”操作参数为:

发件人:

xpath(xml(body('HTTP')), '/*[local-name()="Envelope"]/*[local-name()="Body"]/*[local-name()="HEResponse"]/*[local-name()="HEResult"]/*[local-name()="Table"]')

地图:(仅粘贴第一个参数函数语句)

待定列

if(empty(xpath(item(), '/*[local-name()="Table"]/*[local-name()="ColumnTBC"]/text()')),null, xpath(item(), '/*[local-name()="Table"]/*[local-name()="ColumnTBC"]/text()')[0])

“执行存储过程”操作参数为:

  1. 服务器名称

  2. 数据库名称

  3. 过程名称

  4. TBC 列

    if(empty(xpath(items('For_each'), '/[local-name()="Table"]/[local -name()="ColumnTBC"]/text()')),null, xpath(items('For_each'),'/[local-name()="Table "]/[local-name()="ColumnTBC"]/text()')[0])

我在存储过程操作中遇到以下错误(在下一个 Failed in foreach 循环下):

{
      "status": 400,
      "message": "Procedure or function sp_Table has too many arguments specified.\r\nclientRequestId: 53203af3-8194-4c5e-b87e-c3bac11c8fe8",
      "error": {
        "message": "Procedure or function sp_Table has too many arguments specified."
      },
      "source": "sql-we.azconn-we.p.azurewebsites.net"
    }

我的代码哪里出错了?修复此错误的可能解决方案是什么?

您的存储过程只接受一个参数,看起来您正在从解析存储过程和逻辑应用程序中的 json 进行更改,现在您有一个不匹配的混合物。

create procedure [dbo].[sp_Table]
(
    @json varchar(max)
)