Suite

Arcpy.PackageWorkspace ne conserve pas la référence à la géodatabase d'entreprise SDE

Arcpy.PackageWorkspace ne conserve pas la référence à la géodatabase d'entreprise SDE


Je publie un service de géotraitement sur ArcGIS Server v10.3.0 qui met à jour les données sur une géodatabase d'entreprise ArcSDE.

J'ai ce qui suit au début de mon script:

arcpy.env.workspace = "Connexions de base de données/[email protected]"

Comme indiqué dans Connexion du service de géotraitement à ArcSDE ?, lorsque je publie le script en tant que service de géotraitement, cette ligne est remplacée par :

arcpy.env.workspace = arcpy.env.packageWorkspace

Tout cela est bien beau, maisarcpy.env.packageWorkspaceest simplement lev101dossier pour cette tâche de géotraitement. Ce n'est pas le fichier de connexion .SDE réel. Je peux confirmer que le fichier de connexion .SDE est déplacé vers lev101dossier, maisarcpy.env.packageWorkspaceest simplement un chemin de fichier vers lev101dossier - pas ce fichier.

A cause de ça, quand j'appellearcpy.ListFeatureClasses()ou alorsarcpy.ListDatasets(), une liste vide est renvoyée. D'après ce que je peux dire, c'est parce que l'espace de travail est défini sur un dossier du système de fichiers du serveur, et non sur un fichier .SDE.

Comment les fichiers .py sont-ils réécrits lorsqu'ils sont publiés en tant que services de géotraitement ? Quelle est la syntaxe appropriée à utiliser lors de la configuration de l'espace de travail afin que le publié version du script fait référence à un fichier .SDE et pas simplement à un dossier de fichiers ?


Essayez ceci… changezarcpy.env.workspace = "Connexions de base de données/[email protected]"à

import os mondossier = 'c:mysdefiles' sdePath = os.path.join(myfolder, '[email protected]') arcpy.env.workspace = sdePath

Ensuite, vous devez évidemment copier le fichier sde du nœud de connexion à la base de données vers le dossier que vous avez référencé dans la variable myfolder. Enregistrez également ce dossier auprès du magasin de données du serveur.


Voir la vidéo: Setup, create and manage a PostgreSQL Entreprise Geodatabase in ArcGIS