2016-04-07 2 views
18

Je veux utiliser les fonctions JSON dans SQL Server 2016, mais lorsque je tente d'exécuter OPENJSON fonction, je reçois l'erreur suivante:OPENJSON ne fonctionne pas dans SQL Server?

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

Pourquoi ça ne fonctionne pas? J'ai la version de SQL Server 2016 RC.

+1

Pouvez-vous envoyer tout le SQL? –

+1

également sélectionner @@ version info aidera – TheGameiswar

Répondre

55

Pourriez-vous vérifier le niveau de compatibilité sur la base de données? OPENJSON est disponible sous le niveau de compatibilité 130. Pouvez-vous essayer d'exécuter:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130 

En outre, si vous utilisez JSON sur Azure base de données SQL, notez que sont créées les bases de données, même nouvelles moins de 120 niveaux de compatibilité afin que vous devriez changer si vous voulez utiliser OPENJSON. En outre, si vous l'utilisez dans Azure SQL Database, exécutez select @@ version pour voir ce serveur V12. Vous devriez voir quelque chose comme:

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

Si vous voyez une version inférieure (par exemple 11.xxx), vous avez probablement base de données sur l'architecture ancienne où JSON est pas pris en charge.

Cordialement,

Jovan

+0

Merci Jovan, c'était en raison du niveau de compatibilité. Il fonctionne avec 130. – Iva

+0

Maintenant, mon erreur est "Les valeurs valides du niveau de compatibilité de base de données sont 90, 100 ou 110". –

+0

Parlez-vous de la base de données SQL Azure ou d'une version de SQL Server? Azure SQL doit avoir tous les niveaux de compatibilité disponibles. –