Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 17 October 2012 09:50

Razorbak
Participant assidu
Lieu: Clermont Ferrand
Date d'inscription: 7 Oct 2007
Messages: 505

Absence du champ OID dans une table SDE

Bonjour,

Je travaille avec une base SDE comportant des jeux de classes d'entités et des tables.
J'ai voulu faire une modification d'une table mais bizarrement, j'obtiens un message d'erreur me disant que la mise à jour est impossible du fait de l'absence du champ OID dans la table.
Et effectivement, en vérifiant, ce champ n'existe pas.

Comment cela se fait-il ? Il me semblait qu'il était créé automatiquement par ArcGis :

Les champs FID et Forme d'un fichier de formes et le champ OID d'une table dBASE ne peuvent pas être supprimés. Le champ OID est une colonne virtuelle créée par le logiciel ArcGIS lorsqu'il accède à la table des matières de la table ; il garantit que chaque enregistrement de la table possède au moins une valeur unique. Les fichiers de formes et les tables dBASE doivent posséder au moins un champ d'attribut en plus des champs FID et Forme ou du champ OID.


Avez-vous une idée pour résoudre le problème ?
Faut-il regénérer toutes ces tables ?

Merci et bonne journée

Hors ligne

 

#2 Sun 21 October 2012 20:04

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Absence du champ OID dans une table SDE

Bonjour,

Est-ce que cette table a été créée avec les outils ArcGIS (ArcMap ou ArcCatalogue) ?

Si cette table ait été créée directement en SQL pour l'éditer avec ArcGIS, il faut l'enregistrer dans la géodatabase.

A+

Franck

Hors ligne

 

#3 Tue 23 October 2012 09:10

Razorbak
Participant assidu
Lieu: Clermont Ferrand
Date d'inscription: 7 Oct 2007
Messages: 505

Re: Absence du champ OID dans une table SDE

Bonjour,

Effectivement, cette table n'a pas été créée par une application ESRI.
Je suis tombé également sur cette histoire d'enregistrement mais je ne sais pas si ça va convenir.
Je vais regarder ça.

Mais ce qui est bizarre, c'est qu'on avait jamais enregistré la table avant et la modification fonctionnait.
La seule raison que je vois et une migration vers windows 7 que nous venons de faire. Est-ce que ça peut expliquer ce changement de comportement de cette table ?

Merci

Bonne journée

Hors ligne

 

#4 Wed 24 October 2012 10:22

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Absence du champ OID dans une table SDE

Bonjour,

Tu travailles avec quelle version d'ArcSDE ?

En version 9.3.1, il y a deux notions : l'enregistrement dans la geodatabase et/ou l'enregistrement avec ArcSDE (voir la documentation).

Effectivement, il est possible d'éditer une table qui n'est pas enregistrer dans la geodatabase mais qui est enregistrer dans SDE...
Peut-être que tes tables étaient enregistrés dans SDE (commande sdetable -o register) en utilisant une colonne OID pré-existante.

En version 10.1 (je n'ai pas encore utilisé cette version...), les principes semblent être les mêmes :
- Fonctionnalité ArcGIS disponible pour les tables de base de données qui ne sont pas enregistrées avec la géodatabase
- Définition d'un identifiant d'objet

Il faudrait vérifier si cette table a bien un champ qui pourrait être utilisé comme identifiant d'objet (champ OID).

A+

Franck

Hors ligne

 

#5 Thu 25 October 2012 12:16

Razorbak
Participant assidu
Lieu: Clermont Ferrand
Date d'inscription: 7 Oct 2007
Messages: 505

Re: Absence du champ OID dans une table SDE

Bonjour,

A priori je dirai la même version qu'ArcGis Desktop, soit la 9.2.
Entre temps, j'ai également vu que le problème pouvait venir d'une histoire de versionnement des couches (clic-droit sur un jeu de classes d'entités -> inscrire comme versionné).
Et si je fais ça, ça fonctionne...

Bizarre, bizarre...
Mais merci en tout cas.

Hors ligne

 

#6 Thu 25 October 2012 22:09

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Absence du champ OID dans une table SDE

Bonjour,

Ton problème me rappelle quelque chose maintenant : si ta table n'est pas versionnée, il faut, dans les options d'édition (onglet Versionnement), décocher "Edit a version of the database with the ability to undo and redo".

Par défaut, les options d'édition sont réglées pour travailler sur des données versionnées (voir ici et là (paragraphe "Configuring the versioning options")).

Travailler avec une table versionnée alors que cette table est utilisée par une application tierce peut être périlleux car cette application ne sait pas gérée ce versionnement spécifique à ESRI : Deciding how to register data. Il faut bien paramétrer l'édition pour que les ajouts, les modifications ou les suppressions soient bien déplacées dans la table de base et donc visible par l'application tierce. C'est vérifiable à l'aide d'un simple "select" en SQL pour vérifier que l'application tierce voit bien tous les enregistrements de la table.

A+

Franck

Hors ligne

 

#7 Tue 06 November 2012 09:27

Razorbak
Participant assidu
Lieu: Clermont Ferrand
Date d'inscription: 7 Oct 2007
Messages: 505

Re: Absence du champ OID dans une table SDE

Bonjour Frank,

Est-ce que tu sais comment revenir en arrière et "déversionner" une table/couche ?
C'est notamment pour vérifier que les modifications ont été prises en compte, et surtout que je ne sois pas le seul à les voir.

Merci et bonne journée

Hors ligne

 

#8 Tue 06 November 2012 18:36

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Absence du champ OID dans une table SDE

Bonjour,

Effectivement, c'est moins intuitif que pour versionner...

Dans Arcatalog :
- Menu Outils->Personnaliser
- Dans la boîte de dialogue personnaliser, l'onglet Commandes
- Chercher la catégorie "Outils de géodatabase"
- Chercher la commande "Désinscrire comme versionné"
- Cliquer et glisser cet outil dans une barre d'outil au choix.
- Fermer la boîte

Ensuite, toujours dans Arcatalogue, sélectionner une table/couche et cliquer sur l'outil "Désinscrire comme versionné".

Tous les détails ici à la fin de la page.

A+

Franck

Hors ligne

 

#9 Wed 07 November 2012 10:21

Razorbak
Participant assidu
Lieu: Clermont Ferrand
Date d'inscription: 7 Oct 2007
Messages: 505

Re: Absence du champ OID dans une table SDE

Merci beaucoup !

Bonne journée

Hors ligne

 

Pied de page des forums

Powered by FluxBB