Suite

Les vues SDE n'affichent pas les valeurs dans la table jointe


J'ai créé une vue SDE entre une classe d'entités ponctuelles et une table (stockée dans SDE) - la jointure est effectuée sur un champ de texte appelé RFRNC. J'ai changé la vue pour qu'il s'agisse maintenant d'un LEFT OUTER JOIN conforme à cette doc :

http://www.jamesrichards.com/post/2009/07/16/How-To-Create-an-ArcSDE-Spatial-View-With-an-Outer-Join.aspx

Le problème est que lorsque je crée une ligne dans ma table plate dans la colonne RFRNC avec une valeur dont je sais qu'elle existe dans la classe d'entités, elle n'apparaît jamais ou ne se met jamais à jour dans la vue, que se passe-t-il ici ? Toutes les idées grandement appréciées.


Apparemment, vous avez juste besoin de travailler avec des classes d'entités non versionnées - alors vous voyez les valeurs - erreur élémentaire ! Vous devez modifier la barre d'outils de l'éditeur pour qu'elle fonctionne également avec des jeux de données non versionnés.


Juste une supposition, mais les informations suivantes peuvent être la raison pour laquelle vous rencontrez un problème :

Si vous choisissez de remplacer les vues créées par ArcSDE en modifiant la vue par la suite, vous assumez la responsabilité non seulement de l'exactitude et de l'efficacité de la requête, mais également de sa pertinence et de son adéquation avec les clients ArcSDE. Par exemple, la création de vues un-à-plusieurs impliquant des classes d'entités génère des ObjectID en double. Cela conduit à un comportement inattendu dans des applications telles qu'ArcMap et ArcCatalog, car l'ObjectID est censé contenir des valeurs uniques. Voir À propos des champs ObjectID pour une définition des ObjectID.


La première chose que je ferais serait de compresser votre base de données SDE. Dans le passé, lorsque j'ai eu ce problème, c'était parce que les fonctionnalités que j'utilisais pour la jointure n'étaient pas dans la table de base de la classe d'entités. D'après des recherches antérieures, j'ai découvert que vous ne verrez pas les enregistrements dans une vue spatialement activée à moins que les entités ne se trouvent dans les "tables de base" pour cette classe d'entités particulière. Lorsque vous compressez votre base de données SDE, vous migrez tous les enregistrements des tables A et D vers les tables de base. Si cela s'avère être le problème, écrivez une tâche pour compresser votre base de données SDE chaque nuit pour vous assurer que toutes les modifications sont dans la table de base et disponibles pour la vue spatiale.


Voir la vidéo: Cours 8: les vues sous sql server (Octobre 2021).