OPENJSON 在 SQL 服务器中不起作用?
OPENJSON does not work in SQL Server?
我想在 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 兼容级别下创建的,因此如果您想使用 OPEN[=23],您应该更改它=].
另外,如果你是在 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 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 兼容级别下创建的,因此如果您想使用 OPEN[=23],您应该更改它=]. 另外,如果你是在 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 的旧架构上。
此致,
约万