【发布时间】:2020-12-29 19:14:05
【问题描述】:
我使用的是 SSMS 版本 13.0.16106.4。我正在尝试检索我的查询结果:
SELECT TOP 10 *
FROM my_table
ORDER BY NEWID()
FOR JSON PATH
这会在结果窗口中生成指向查询生成的 JSON 的链接。但是,当我单击该链接时,出现以下错误:
无法显示 XML。发生以下错误: 意外的 XML 声明。 XML 声明必须是文档中的第一个节点,并且它之前不允许出现空白字符。第 1 行,位置 431。 一种解决方案是增加从服务器检索 XML 数据的字符数。要更改此设置,请在“工具”菜单上单击“选项”。
我尝试增加 XML 结果的数据大小限制,但没有奏效。似乎 SSMS 出于某种原因将 JSON 视为 XML,并且可能正在尝试对其进行解析。
【问题讨论】:
-
您是否尝试过更新到 SSMS 的更新版本?
-
我不能。我在企业系统上。我无权更新。这会与 SSMS 的版本有关吗?
-
“无法显示 XML。” 是 SSMS 错误,所以是的。
-
所以,我在本地机器(SSMS 版本 15.0.18142.0)上尝试了一个类似的查询,它工作正常。但是,我使用的表格和数据不同,所以我不能肯定地说这是问题所在。我还在旧版本的 SSMS 上尝试了不同的查询并得到了工作结果:SELECT TOP 10 * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY NEWID() FOR JSON PATH
-
与任何错误一样,我总是建议先更新到受支持的版本。