Ошибка SSDT при сборке: ожидается XML, но вместо этого обнаружен JSON - PullRequest
0 голосов
/ 13 марта 2019

Я использую самую последнюю версию 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 (или я ошибаюсь? Есть что-то, что я пропускаю? Или это действительно не поддерживается?)

Эта проблема, казалось, существовала для более старых версий SSDT до 2016 года , но тогда сообщалось, что она была решена, возможно, это недавняя регрессия? Я не могу найти другие экземпляры этой ошибки или что-то подобное.

1 Ответ

1 голос
/ 13 марта 2019

Если у вас есть «Целевая платформа» в свойствах .sqlproj, установленная на SQL 2014 или менее, или «База данных SQL Microsoft Azure», то это произойдет, уровень совместимости не повлияет на это (или, по крайней мере, установит для моего проекта значениеСовместимость с 2014 г. отсутствует).

Это работает для меня с SQL 2016+ и Azure v12 с SSDT "15.1.61902.21100"

Надеюсь, это поможет!*

...