français

FAQ : Est-il possible de stocker les propriétés de connexion d’administration de la géodatabase dans la mémoire de l’unité de centrale alors qu’un script Python est en cours d’exécution ?

Question

FAQ : Est-il possible de stocker les propriétés de connexion d’administration de la géodatabase dans la mémoire de l’unité de centrale alors qu’un script Python est en cours d’exécution ?

Réponse

Les scripts Python permettent de réaliser des tâches d’administration sur une connexion à la géodatabase comme, par exemple, ajouter des identifiants de connexion et gérer l’accès des utilisateurs. Pour connecter et déconnecter les utilisateurs de la géodatabase, un fichier de connexion ArcSDE est requis en tant qu’administrateur de géodatabase. Le fichier de connexion ArcSDE est créé lorsqu’un script Python démarre à l’aide de la fonction ArcPy CreateArcSDEConnectionFile_management() et le fichier est enregistré en tant que fichier .sde dans le disque dur. Pour plus d’informations, reportez-vous au document d’aide web suivant : ArcGIS Desktop : Créer un fichier de connexion à ArcSDE.

Le fichier de connexion ArcSDE contient les propriétés de connexion d’administration de la géodatabase et les informations confidentielles telles que les identifiants de connexion. Dans la plupart des cas, il n’est pas recommandé de détenir un fichier SDE sur le disque dur car le fichier et les informations qu’il renferme sont présentés à de nombreux utilisateurs.

Il est impossible de conserver le fichier de connexion ArcSDE dans la mémoire de l’unité centrale car l’outil de géotraitement ArcPy utilisé pour déconnecter les utilisateurs implique un fichier SDE en entrée. Pour éviter que le fichier de connexion SDE ne reste sur le disque dur, il suffit de supprimer le fichier de connexion SDE à la fin du script Python. Cette opération peut être effectuée à l’aide de la fonction Python os.remove().

L’exemple ci-dessous illustre l’utilisation de la fonction os.remove().

import arcpy

folderName = r"c:\connectionFiles"
fileName = "SDE_connection.sde"
serverName = "gpserver"

SDE_connection = arcpy.CreateArcSDEConnectionFile_management (folderName, fileName, serverName)
...
... 
os.remove("SDE_connection.sde")

 

Related Information