首页 > 解决方案 > 逻辑应用执行 SQL TO JSON 自动分块输出

问题描述

我正在使用的逻辑应用程序旨在快速更新基于 SQL Server 表(1000 行,6 列)的 json 文件。

SQL 语句类似于:

从表名中为 JSON 路径选择 ID、名称、FIELD1、FIELD2、FIELD3、FIELD4;

表中有大约 1000 行,几乎没有变化或变化。

当我在 SSMS 或本地运行此 SQL 时,我的输出是单行/合并的 json 输出;当我通过 Logic App 运行相同的 SQL 时,它会将输出批处理成 10 个 json 行的组。

存储过程/执行 sql 的输出屏幕截图

如果我使用 NO COUNT ON 的存储过程,则会产生相同的行为。

有谁知道强制逻辑应用程序中的执行 SQL 任务不将返回分块/批处理到不同结果集中的方法?

标签: sql-serverazureazure-sql-databaseazure-logic-apps

解决方案


从那以后,我了解到 Execute SQL 会自动将其输出转换为 Json。

为了解决这个问题,我更改了我的 SQL 以删除 FOR JSON PATH,并使用 ResultSet.Table1 作为 Compose 任务的源。这用特定于 Json 的方括号包裹了数组,现在输出如预期的那样。


推荐阅读