构建时出现SSDT错误:预期的XML但是遇到了JSON

问题描述 投票:0回答:1

我使用最新版本的Visual Studio Professional 2017(v15.9.9)和最新的SQL Server数据工具(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个回答
1
投票

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

这适用于SQL 2016+和Azure v12与SSDT“15.1.61902.21100”

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.