Logic App Execute SQL TO JSON 自动分块输出
Logic App Execute SQL TO JSON automatically chunks output
我正在使用的逻辑应用程序旨在快速更新json文件,该文件基于SQL服务器table(1000 行,6 列)。
SQL 语句类似于:
SELECT ID、名称、FIELD1、FIELD2、FIELD3、FIELD4 来自 JSON 路径的表名;
table 中有 ~1000 行,差异或变化很小。
当我在 SSMS 或本地 运行 这个 SQL 时,我的输出是单行/合并的 json 输出;当我通过 Logic App 运行 相同的 SQL 时,它将输出分成 10 json 行的组。
screenshot of output from stored proc / execute sql
如果我使用 NO COUNT ON 的存储过程,会产生相同的行为。
有谁知道在逻辑应用程序中强制执行 SQL 任务不将 return 分块/批处理到不同结果集中的方法吗?
我后来了解到执行 SQL 会自动将其输出转换为 Json。
为了解决这个问题,我更改了 SQL 以删除 FOR JSON PATH,并使用 ResultSet.Table1 作为 Compose 任务的源。这用 Json-specific 方括号包装数组,现在输出符合预期。
我正在使用的逻辑应用程序旨在快速更新json文件,该文件基于SQL服务器table(1000 行,6 列)。
SQL 语句类似于:
SELECT ID、名称、FIELD1、FIELD2、FIELD3、FIELD4 来自 JSON 路径的表名;
table 中有 ~1000 行,差异或变化很小。
当我在 SSMS 或本地 运行 这个 SQL 时,我的输出是单行/合并的 json 输出;当我通过 Logic App 运行 相同的 SQL 时,它将输出分成 10 json 行的组。
screenshot of output from stored proc / execute sql
如果我使用 NO COUNT ON 的存储过程,会产生相同的行为。
有谁知道在逻辑应用程序中强制执行 SQL 任务不将 return 分块/批处理到不同结果集中的方法吗?
我后来了解到执行 SQL 会自动将其输出转换为 Json。
为了解决这个问题,我更改了 SQL 以删除 FOR JSON PATH,并使用 ResultSet.Table1 作为 Compose 任务的源。这用 Json-specific 方括号包装数组,现在输出符合预期。