【问题标题】:SSDT Error on build: Expected XML but encountered JSON instead构建时出现 SSDT 错误:应为 XML,但遇到的是 JSON
【发布时间】:2019-03-13 01:56:58
【问题描述】:

我正在使用最新版本的 Visual Studio Professional 2017 (v15.9.9) 和最新的 SQL Server Data Tools (v15.1.61903.01040)

我在我的数据库项目中创建了一个新的存储过程,例如,使用以下代码:

create proc [dbo].[MyProc] as
select 'Test' as [TestColumn] FOR JSON AUTO

以下错误无法编译,关键字JSON高亮显示:

SQL46005: Expected XML but encountered JSON instead
SQL80001: Incorrect syntax near 'JSON'

当它是完全有效的 SQL 时,它无法编译似乎很奇怪(或者我弄错了吗?我遗漏了什么?或者它真的不受支持?)

这个问题似乎是exist for older versions of SSDT before 2016,但当时被报告为已解决,这可能是最近的回归吗?我找不到此错误或类似错误的任何其他实例。

【问题讨论】:

标签: tsql visual-studio-2017 sql-server-data-tools


【解决方案1】:

如果您将 .sqlproj 属性上的“目标平台”设置为 SQL 2014 或更低版本或“Microsoft Azure SQL 数据库”,则会发生这种情况,兼容性级别不会影响它(或者至少将我的项目设置为2014 兼容性没有)。

这适用于我的 SQL 2016+ 和带有 SSDT“15.1.61902.21100”的 Azure v12

希望对你有帮助!

编辑

【讨论】:

  • 我怎么会这么瞎?!当然是这个原因 - 谢谢!
猜你喜欢
  • 2021-04-27
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多