我想在 SQL Server 2016 中使用 JSON 函数,但是当我尝试执行 OPENJSON
函数时,我收到以下错误:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'openjson'.
为什么它不起作用?我有 SQL Server 2016 RC 版本。
最佳答案
您能检查一下数据库的兼容性级别吗? OPENJSON 在兼容级别 130 下可用。您可以尝试执行吗:
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130
另外,如果您在 Azure SQL 数据库上使用 JSON,请注意即使是新数据库也是在 120 兼容级别下创建的,因此如果您想使用 OPENJSON,您应该更改它。 此外,如果您在 Azure SQL 数据库中使用它,请运行 select @@version 以查看此 V12 服务器。您应该会看到如下内容:
Microsoft SQL Azure (RTM) - 12.0.2000.8 Mar 25 2016 15:11:30 Copyright (c) Microsoft Corporation
如果您看到一些较低版本(例如 11.xxx),您可能在不支持 JSON 的旧架构上拥有数据库。
问候,
约万
https://stackoverflow.com/questions/36470782/
相关文章:
c# - 使用 restsharp 反序列化 json 字符串
c# - 如何在 asp.net web api 中返回 json 错误消息?
java - 如何使用 Gson 解码具有未知字段的 JSON?
json - AngularJS ng-repeat orderBy date 不起作用
json - 如何在 IntelliJ/Android Studio 中格式化粘贴的 JSON
java - jackson 2.0 和 Spring 3.1
ruby - 如何在 Ruby 1.9 中将 Hash 转换为 JSON 字符串?