J'ai des problèmes pour libérer ma gdb dans ArcGIS10. Mon outil fonctionne avec une gdb locale, mais je n'ai pas pu le libérer après le processus. Dans Ag9.3, je peux le publier simplement par Marshal.ReleaseComObject (espace de travail), mais cela ne fonctionne pas dans AG10. La libération de tous les FeatureCursors n'aide pas non plus. Seule la fermeture de l'application entière "supprime" le verrou. Est-ce que quelqu'un sait comment libérer mon gdb et "supprimer" le verrou sans fermer l'application?
arcgis-10.0
arcobjects
AnnemieK
la source
la source
Réponses:
J'ai jeté un coup d'œil rapide et j'ai trouvé des informations sur le scénario de verrouillage que vous semblez rencontrer. Dans ArcObjects 10, il existe une option SetWriteLock et FreeWriteLock.
jetez un oeil sur le lien du forum en particulier l'exemple de Lance Shipman d'Esri http://forums.arcgis.com/threads/36881-the-performance-fgdb-api-amp-arcobjects
Amusez-vous, CDB
la source
Il est facile d'accéder à cette condition - tout ce dont vous avez besoin est d'un objet contenant une référence à quelque chose qui a besoin de l'espace de travail pour rester en vie. Comme un objet personnalisé qui contient une fonctionnalité par exemple.
Une fois que vous êtes sûr de ne pas détenir de telles références, essayez d'appeler GC.collect () pour forcer le garbage collector dans un mode de nettoyage quasi-déterministe
la source
Si vous utilisez des curseurs dans votre application, assurez-vous d'utiliser ComReleaser pour gérer la durée de vie des curseurs et détruisez-les lorsque vous en avez fini avec eux. Sinon, ils peuvent verrouiller votre SGBD. Je peux me tromper, mais je ne pense pas que le fait d'appeler ReleaseComObject sur l'espace de travail seul supprime la référence aux curseurs. Jetez un œil à ce billet de blog ESRI ...
http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/12/18/Using-the-ComReleaser-to-manage-the-lifetime-of-cursors-in-.NET.aspx
la source
Idée trouvée sur http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003n0000007w000000
«Ces fichiers .lock sont supprimés chaque fois que vous exécutez l'outil de géotraitement Compact»
la source