Skip To Content

00120 : La table de requête comporte une requête complexe

Dans cette rubrique

La table autonome est une table de requête définie par une requête SQL complexe, et vous publiez un service d'entités dans ArcGIS for Server.

Solution

Effectuez l'une des opérations suivantes :

  • Si aucune mise à jour n'est requise, publiez un service de carte au lieu d'un service d'entités.
  • Si une mise à jour et, par conséquent, un service d'entités sont requis, simplifiez la requête SQL définissant votre couche de requête en supprimant les éléments complexes tels que les jointures ou les clauses WHERE. Voici un exemple de requête simple :
    SELECT id, city, population FROM mydb.myuser.city_stats
  • Par ailleurs, vous pouvez supprimer la table autonome si elle n'est pas nécessaire.

Plus d'informations

Une couche de requête est une couche ou une table autonome qui est définie par une requête SQL. Les couches de requête permettent aux informations spatiales et non spatiales stockées dans un SGBD d'être facilement intégrées aux projets SIG dans ArcMap. Puisque les couches de requête utilisent SQL pour interroger directement les tables et les vues de base de données, il n'est pas nécessaire d'enregistrer dans une géodatabase les informations spatiales utilisées par une couche de requête.

Lorsque vous travaillez dans ArcMap, vous pouvez créer des couches de requête en définissant une requête SQL. La requête est ensuite exécutée dans les tables et les vues d'une base de données, et le jeu de résultats est ajouté à ArcMap en tant que couche ou table autonome (selon la requête).

La publication d'un service d'entités dans ArcGIS for Server nécessite que la requête SQL définissant la table de requête soit simple. SELECT * FROM Test.myuser.US_States est un exemple courant de cette syntaxe. Une requête simple peut contenir un sous-ensemble des champs de la table, par exemple SELECT objectid, pop2000, pop2010 FROM Test.myuser.US_States. Les jointures et les clauses WHERE ne sont pas prises en charge lors de la publication. Vous ne pouvez pas, par exemple, publier une table de requête dans laquelle vous sélectionnez un sous-ensemble de lignes dans une requête simple, car elle est contrôlée par la clause WHERE.

En savoir plus sur la création de services d'entités pour ArcGIS for Server