2016-04-07 15 views
18

Voglio utilizzare le funzioni di JSON in SQL Server 2016, ma quando provo ad eseguire OPENJSON funzione, ottengo il seguente errore:OPENJSON non funziona in SQL Server?

Msg 208, Level 16, State 1, Line 1
Invalid object name 'openjson'.

Perché non funziona? Ho la versione RC di SQL Server 2016.

+1

puoi pubblicare tutto lo SQL? –

+1

selezionare anche @@ informazioni sulla versione aiuterà – TheGameiswar

risposta

55

È possibile verificare il livello di compatibilità nel database? OPENJSON è disponibile sotto il livello di compatibilità 130. Potrebbe provare ad eseguire:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130 

Inoltre, se si utilizza JSON su Azure SQL Database, notare che anche i nuovi database vengono creati sotto 120 livello di compatibilità in modo si dovrebbe cambiare se vuoi usare OPENJSON. Inoltre, se lo si utilizza nel database SQL di Azure, eseguire select @@ version per vedere questo server V12. Si dovrebbe vedere qualcosa di simile:

Microsoft SQL Azure (RTM) - 12.0.2000.8 Mar 25 2016 15:11:30 Copyright (c) Microsoft Corporation

Se vedi qualche versione precedente (ad esempio 11.xxx) probabilmente avete database su vecchia architettura in cui JSON non è supportato.

saluti,

Jovan

+0

Grazie Jovan, era dovuto al livello di compatibilità. Funziona con 130. – Iva

+0

Ora il mio errore è "I valori validi del livello di compatibilità del database sono 90, 100 o 110". –

+0

Stai parlando di Database SQL di Azure o di una versione di SQL Server? SQL di Azure dovrebbe avere tutti i livelli di compatibilità disponibili. –