Accès SQL aux données d'une géodatabase d'entreprise

Vous pouvez utiliser le SQL natif de votre système de gestion de base de données (SGBD) pour lire les données de tables et de classes d'entités (collectivement désignées comme des jeux de données) dans une géodatabase d'entreprise. Vous pouvez également utiliser SQL pour insérer et mettre à jour des valeurs dans des jeux de données simples stockés dans votre géodatabase d'entreprise, ou encore pour les supprimer.

RemarqueRemarque :

n'utilisez pas SQL pour modifier la structure des jeux de données stockés dans votre géodatabase d'entreprise.

Lorsque vous exécutez SQL sur un jeu de données de géodatabase, vous interrogez les données de la table de base (ou table métier). Si le jeu de données que vous interrogez répond aux critères suivants, il suffit d'interroger la table de base pour voir et mettre à jour les données. Vous pouvez y insérer des enregistrements ou en supprimer à l'aide de SQL :

Les sections suivantes décrivent ce que vous devriez faire si votre jeu de données ne satisfait pas ces critères.

Si le jeu de données fait partie des fonctionnalités de géodatabase

Si les données auxquelles vous souhaitez accéder font partie des fonctionnalités de géodatabase, vous devez construire votre requête de manière à inclure les tables associées requises et joindre celles-ci à l'aide des colonnes appropriées pour voir les informations dans les tables associées.

Vous pouvez utiliser la fonction Is_Simple pour déterminer si votre jeu de données fait partie des fonctionnalités de géodatabase. Si Is_Simple renvoie Faux, vous pouvez exécuter les instructions SQL SELECT sur le jeu de données, mais ne mettez pas à jour le jeu de données à l'aide de SQL.

Si le jeu de données est inscrit comme versionné

Si votre jeu de données est inscrit comme versionné, vous pouvez utiliser une vue versionnée pour l'interroger et voir les données dans les tables de base, d'ajouts et de suppressions sans devoir écrire des instructions de jointure complexes. Dans ArcGIS 10.1 et les versions ultérieures, une vue versionnée est créée lorsque vous inscrivez le jeu de données comme versionné. Pour les jeux de données qui ont été versionnés avant ArcGIS 10.1 ou lorsque vous ne déteniez pas de privilèges de création d'une vue, vous pouvez activer l'accès SQL à partir du menu contextuel de la table ou de la classe d'entités dans ArcGIS for Desktop. Une vue versionnée est alors créée.

Si vous souhaitez utiliser SQL pour mettre à jour un jeu de données versionné, vous devez le faire dans une vue versionnée. Cela permet d'écrire les mises à jour dans les tables des ajouts et des suppressions et de renseigner le champ ObjectID lorsque les enregistrements sont insérés.

Vous pouvez utiliser la fonction Is_Versioned pour déterminer si votre jeu de données est inscrit ou non comme versionné. S'il est inscrit comme versionné, faites appel à la fonction Version_View_Name pour déterminer le nom de la vue versionnée.

Si le jeu de données n'est pas inscrit comme versionné mais s'il est activé pour l'archivage

Si votre jeu de données n'est pas inscrit comme versionné mais s'il est activé pour l'archivage, une vue d'archive est créée lorsque l'archivage est activé.

Si vous souhaitez utiliser SQL pour mettre à jour un jeu de données non versionné activé pour l'archivage, vous devez le faire dans la vue d'archive. Dans ce cas, le champ ObjectID et les champs qui consignent la date de mise à jour d'une entité ou d'un enregistrement sont mis à jour.

AstuceAstuce:

Si vous ne disposiez pas des autorisations requises pour créer une vue lorsque l'archivage a été activé, vous pouvez activer l'accès SQL (donc créer une vue d'archive) à partir du menu contextuel de la table ou de la classe d'entités dans ArcGIS for Desktop après avoir obtenu des autorisations de création d'une vue dans la base de données.

Si la fonction Is_Versioned renvoie Faux, utilisez la fonction Is_Archive_Enabled pour déterminer si votre jeu de données non versionné est activé pour l'archivage. S'il est activé pour l'archivage, faites appel à la fonction Archive_View_Name afin de déterminer le nom de la vue d'archive que vous pouvez utiliser pour mettre à jour le jeu de données à l'aide de SQL.

Si le jeu de données contient une géométrie binaire ou une colonne XML ArcSDE

Si les données auxquelles vous souhaitez accéder utilisent le stockage de géométrie binaire ou XML ArcSDE, vous devez construire votre requête de manière à inclure les tables associées requises et joindre celles-ci à l'aide des colonnes appropriées pour voir les informations dans les tables associées.

N'utilisez pas SQL pour mettre à jour les jeux de données qui contiennent un stockage de géométrie binaire ou des colonnes de type de données XML ArcSDE.

Thèmes connexes

5/10/2014