【问题标题】:Sql Server JSON result separated in multiple rowsSql Server JSON 结果分隔在多行中
【发布时间】:2017-01-29 05:37:16
【问题描述】:

我想知道这是否是 SQL Server(在 Azure 上)的正常行为。 我的 SQL 查询使用 FOR JSON PATH 和嵌套查询返回 JSON。 我的问题是似乎根据生成的 JSON 的长度,结果被分成多行。

这是一个问题,因为行数可能会根据数据而变化。我还必须手动将所有行连接在一起以获得有效的 JSON。

一种解决方法是将生成的 JSON 放入一个变量中,然后手动选择它。这会导致单行和单列(所以我知道这不是最大长度问题)。

这是正常行为还是我的查询有问题?

【问题讨论】:

    标签: sql-server json azure


    【解决方案1】:

    Sql Server 将 FOR JSON 查询的结果拆分为 ~2KB 块,因此您应该像 MSDN page 那样连接片段,或者您可以将结果流式传输到某个输出流中。

    您可以在此处找到 ASP.NET Core REST API 实现,其中使用 FOR JSON 的 SQL 查询结果将流式传输到响应正文中:https://www.codeproject.com/Articles/1106622/Building-REST-services-with-ASP-NET-Core-Web-API-a

    【讨论】:

    • 您好,您能否提供支持此功能的文档的链接?我似乎在 Microsoft 文档中找不到任何提及 2 kb 分块的内容。
    猜你喜欢
    • 1970-01-01
    • 2011-12-25
    • 2017-01-17
    • 2015-11-06
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多