Comment définir la connexion SDE pour l'espace de travail dans les scripts Python?
python
enterprise-geodatabase
Ramakrishna Billakanti
la source
la source
Réponses:
DEWright vient de me battre, il a raison, utilisez une connexion comme dans ArcCatalog. Mais voici ma prise de position, effectuée à l'invite Python dans ArcMap, en utilisant le chemin d'accès direct complet à un fichier de connexion sde:
Pour obtenir le chemin d'accès à mon fichier de connexion SDE, je viens de cliquer avec le bouton droit sur ma base de données SDE dans l'arborescence du catalogue, je suis allé dans les propriétés, puis dans l'onglet Général, copiez le chemin d'accès dans le champ Nom:
la source
Les exemples 3 à 5 de cette page sont étonnants pour ce problème: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//0017000000q7000000
Voici une version simplifiée que j'ai faite qui me permet de faire des connexions à la volée en python en utilisant uniquement la connexion directe Sql Server.
En utilisant ce script, je peux créer un fichier de connexion à la volée en appelant simplement:
Cela élimine le problème des fichiers de connexion à la base de données incohérents d'une machine à l'autre ou d'un profil utilisateur à un autre.
la source
md5.new( server + "_" + ServiceConnFileName + "_" + database + "-" + version + "_" + username + password).hexdigest()
- L'indentation sur la publication pour le retour est incorrecte, donc je ne savais pas que ma connexion échouait. - Le code change la version en majuscule, ma version était en minusculeVous devez définir votre document de connexion SDE comme vous le feriez normalement dans ArcCatalog; Ensuite, vous allez créer le chemin d'accès à la couche en Python comme ceci:
Cela définira votre chemin d'accès à l'emplacement de votre fichier .SDE, mais vous définissez ensuite le chemin d'accès à l'intérieur de cette connexion à la couche que vous recherchez. Dans mon cas, j'ai également défini une variable Année.
la source
vous pouvez également définir le chemin de connexion directement dans votre requête.
et l'utiliser dans la recherche et etc.
la source