PROBLÈME

impossible d’effectuer des tâche queryFilter avec GlobalID

Last Published: April 25, 2020

Description

Les tâches queryFilter effectuées avec GlobalID dans ArcGIS Runtime SDK for .NET échouent et aucune liaison n’est établie entre les entités. Voici un exemple de tâche queryFilter ayant échoué :

...
qF.WhereClause = "GlobalID='{DCD212BC-9D7C-48B5-97FD-BBA9454BFBFA}'"
...

Cause

Ce problème est lié à la corrélation entre GlobalID et le GUID (Globally Unique Identifier). Les valeurs de GlobalID sont automatiquement générées lorsque des enregistrements sont ajoutés à la table. Ces valeurs sont stockées via une représentation de chaîne en majuscules. Cependant, lorsque le contenu d’exécution est publié, le GlobalID renvoyé est au format System.GUID et la méthode Guid.ToString stocke les valeurs en minuscules par défaut. Il s’agit d’une conception de Microsoft MSDN pour laquelle la valeur du GUID est représentée sous forme de série de nombres hexadécimaux en minuscules.

Ce comportement génère des conflits dans ArcMap dans le cas des colonnes GlobalID et GUID car les deux valeurs sont comparées au format chaîne, qui est sensible à la casse (par exemple, dans ArcMap, la valeur du GUID {EF2E0C18-638C-4C6D-AFA7-4D23581CCAA5} n’est pas identique à {ef2e0c18-638c-4c6d-afa7-4d23581ccaa5}).

Solution ou alternative

Utilisez l’une des solutions suggérées ci-dessous pour mener à bien la tâche queryFilter :

ID d’article:000015294

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement

Informations associées

En savoir plus sur ce sujet