sql-server - OPENJSON 在 SQL Server 中不起作用?

标签 sql-server json sql-server-2016

我想在 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 的旧架构上拥有数据库。

问候,

约万

关于sql-server - OPENJSON 在 SQL Server 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470782/

相关文章:

json - 无法在命令行中解码 json 字符串

javascript - 当未从 HTML 中获取 JSON 数据时显示适当的错误消息

.net-core - Entity Framework 核心句柄被删除全局级别的列

c# - "Specified cast is not valid"当空值返回为 Nullable<int>

sql-server - Delphi 3 到 SQL 2008

android - Json Array Request with volley 不起作用

SQL:获取该月第二个完整周的星期五

sql-server - 两个 SQL Server 层/表的空间相交

sql server 从组中选择第一行

sql-server - 在存储过程中用作局部变量的最大数据类型是什么?