sql - 无法从 Azure 逻辑应用调用 SPROC - 找不到参数的语法

标签 sql azure azure-logic-apps

意向声明:
我正在尝试自动化工作流程,定期将数据从 Sharepoint 中的 CSV 移动到 Azure SQL 数据库中的表中。我到目前为止已经了解了 1) 格式化 JSON 数组,以及 2) 创建一个成功获取 JSON 数组文本的 SPROC,并将其导入到相应的表中。

数组看起来像: JSON = [{"col1":"col1Data","col2":"col2Data", ...}, <600-some more iterations>]

在 SQL Management Studio 中调用存储过程如下所示: EXECUTE SprocName @json=N'<text of JSON above>'

==============================================
问题:
缺乏文档允许我正确格式化以下两个 SQL 连接器参数之一以将这两个语句链接在一起:

两者Execute a Query (v2)Execute a Stored Procedure (v2)要求提供参数或查询文本,但没有指示所述参数应如何格式化。

例如,在执行采用单个参数 @json 的存储过程时,以下文本“看起来”正确,但会导致错误:

“body”:“@json=N'+@string(outputs('Convert_Rows_To_Json').body)+'”

错误: 无法保存逻辑应用 UpdateDomainCoverage。模板验证失败:“第 1 行和第 3148 列的模板操作“Execute_stored_procedure_(V2)”无效:“模板语言表达式 'json=N'+@string(outputs('Convert_Rows_To_Json')。 body)+'' 无效:位置 '4' 处的字符串字符 '=' 不是预期的。".'.

我已经尝试了许多变体,无论是执行存储过程上的@json参数,还是简单地在执行SQL中从整个结构构建查询,都无济于事。有建议吗?

最佳答案

以下是代码 View 中的示例,该示例使用采用日期时间值的参数“from”调用存储过程。当您在设计器中选择存储过程时,它应该显示要填充的所有参数。

    "Get_jobs": {
        "inputs": {
            "body": {
                "from": "@{convertFromUtc( variables('SelectTime'), variables('timeZone'), 'yyyy-MM-dd HH:mm:ss')}"
            },
            "host": {
                "connection": {
                    "name": "@parameters('$connections')['sql_2']['connectionId']"
                }
            },
            "method": "post",
            "path": "/datasets/default/procedures/@{encodeURIComponent(encodeURIComponent('[dbo].[GetJobs]'))}"
        },
        "runAfter": {
            "Refresh_data_for_BI": [
                "Succeeded"
            ]
        },
        "type": "ApiConnection"
    },

关于sql - 无法从 Azure 逻辑应用调用 SPROC - 找不到参数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60513343/

相关文章:

mysql - VB.Net中的SQL语句错误

c# - 如何使用包含在 Linq to SQL 中搜索字符串

azure - 当存储冗余类型更改时,Azure 是否会自动复制现有对象?

azure - Message="创建存储文件共享失败,错误为 : The remote server returned an error: (403) Forbidden. 检查存储帐户是否可访问

azure - 逻辑应用程序的内部 Azure ASE 入站/出站流量

java - 使用 JOOQ 读取标记对象的推荐方法是什么?

sql - SQL中如何连接多个select语句

c# - Azure 函数在 Linux 上出现 'Listener unable to start' 错误

azure - 与 Azure Java SDK 一起使用时,Jackson 在 Apache Spark 中发生冲突

azure - 逻辑应用 - "Authorization Failed - The authentication credentials are not valid"