OPENJSON не распознается в базе данных SQL Azure - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу использовать функцию OPENJSON в базе данных SQL Azure, но когда я пытаюсь выполнить функцию, я получаю следующую ошибку:

Сообщение 195, Уровень 15, Состояние 10, Строка25 'OPENJSON' не является распознанным именем встроенной функции.

Я исследовал и нашел эту ссылку , говоря

Функция OPENJSON:доступно только при уровне совместимости 130 или выше.Если уровень совместимости вашей базы данных ниже 130, SQL Server не может найти и запустить функцию OPENJSON.Другие функции JSON доступны на всех уровнях совместимости.

Как было предложено, проверил уровень совместимости с последующими

select * from sys.databases

и подтвердил, что он равен 140, что выше минимального требования.

Так, разве это не сработает?

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Вам могут помочь три шага:

1.Проверьте версию SQL Server (начиная с 2016 г.).

2.Проверьте уровень совместимости базы данных SQL Azure на уровне 130 или выше.

3. Проверьте версию базы данных SQL Azure.Запустите select @@version, чтобы увидеть, если это сервер V12.

Если вы видите более низкую версию (например, 11.xxx), возможно, у вас есть база данных на старой архитектуре, где JSON не поддерживается.Вам необходимо обновить базу данных SQL Azure до последней версии V12.

Ссылка: OPENJSON не работает в SQL Server?

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

0 голосов
/ 26 февраля 2019

OPENJSON является табличной функцией, и она должна отображаться в допустимом месте для табличного выражения.

EG

select openjson('{}')

завершается с ошибкой

Сообщение 195, Уровень 15, Состояние 10, строка 29 «openjson» не является распознанным именем встроенной функции.

Но

select * from openjson('{}')

работает.

0 голосов
/ 26 февраля 2019

В идеале должно работать, если уровень совместимости равен 130 или выше.

https://blogs.msdn.microsoft.com/azuresqldbsupport/2018/03/24/lesson-learned-34-does-azure-sql-database-support-openjson/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...