Lecture de données versionnées dans SQL Server à l'aide de vues multi-versionnées

Vous pouvez exécuter des instructions SELECT SQL sur des vues multi-versionnées pour accéder aux données versionnées.

Les vues multi-versionnées accèdent automatiquement à la version DEFAULT. Avant d'émettre des requêtes sur la vue, vous devez vérifier que vous allez interroger la version appropriée.

Pour accéder à un état précis d'une version spécifique, exécutez la procédure stockée ArcSDE set_current_version. Cette procédure valide le nom de version fourni et définit l'état de la base de données correspondant en interne. Elle peut être exécutée directement à partir d'un client SQL. La syntaxe de la procédure stockée pour définir la version courante est la suivante pour une géodatabase de structure sde :

EXEC sde.set_current_version '<version_name>'

Pour les géodatabases de structure dbo, la procédure stockée est la propriété de dbo. La syntaxe est par conséquent la suivante :

EXEC dbo.set_current_version '<version_name>'

Le cas échéant, cette procédure peut être rappelée pour modifier d'autres versions. Elle peut être appelée chaque fois que l'espace de travail est actualisé pour renvoyer l'état courant de la table versionnée à l'application d'appel.

Si vous définissez la version sur DEFAULT, l'état courant est mis en cache et vous ne voyez que cet état de la version DEFAULT. Si vous ne définissez pas du tout la version, une vue dynamique de la version DEFAULT est renvoyée. Par conséquent, lorsque vous effectuez des modifications, vous voyez les changements dans la version DEFAULT.

AttentionAttention :

Les vues multi-versionnées ne doivent pas être utilisées pour accéder ou modifier des entités complexes, telles que des entités qui participent aux réseaux géométriques, aux topologies, aux MNT, aux ateliers cadastraux, aux jeux de données réseau ou aux relations ou qui ont un comportement de géodatabase spécifique. Vous devez utiliser ArcGIS pour afficher et modifier ces types d'entités.

Étapes :
  1. Dans une invite de commande MS-DOS, exécutez l'utilitaire sdetable pour créer une vue multi-versionnée.
    sdetable –o create_mv_view –T code_mv –t code_enf 
    –i sde:sqlserver:myserver\ssinst –D code –u sarja –p not4u
  2. Ouvrez une fenêtre de requête Transact SQL et exécutez la procédure stockée set_current_version.
    EXEC sde.set_current_version 'version2'
    RemarqueRemarque :

    Si vous ne définissez pas la version courante, vous verrez le dernier état de la version DEFAULT à chacune de vos requêtes. Si vous définissez la version courante, l'état est mis en cache et votre vue de la version que vous avez indiquée reste statique.

  3. Exécutez une instruction SELECT sur la vue multi-versionnée pour lire les données versionnées de la géodatabase.
    SELECT owner, site_address, region
    FROM code_mv
    WHERE region = 'b'

Rubriques associées


3/6/2012