Workspace-Cache löschen (Data Management)
Zusammenfassung
Löscht alle ArcSDE-Workspaces aus dem ArcSDE-Workspace-Cache.
Verwendung
-
Dieses Werkzeug kann nur für ArcSDE-Workspaces ausgeführt werden.
-
Sie können dieses Werkzeug verwenden, um in einer Anwendung mit langer Ausführungszeit nicht benötigte ArcSDE-Verbindungen zu trennen.
-
Wenn Sie das Werkzeug ausführen, ohne ein Eingabedatenelement anzugeben, werden alle ArcSDE-Workspaces im ArcSDE-Workspace-Cache gelöscht. Geben Sie die entsprechende SDE-Datei an, die dem zu löschenden Workspace zugeordnet ist, um einen bestimmten ArcSDE-Workspace zu löschen.
- So löschen Sie den Workspace-Cache in ArcCatalog auf korrekte Weise: Nachdem Sie dieses Werkzeug in ArcCatalog verwendet haben, müssen Sie im Inhaltsverzeichnis auf einen anderen Ordner zugreifen und eine Aktualisierung durchführen, bevor die ArcSDE-Verbindung getrennt wird.
- So löschen Sie den Workspace-Cache in ArcMap auf korrekte Weise: Entfernen Sie alle Verweise auf Daten in ArcMap, die ggf. auf den ArcSDE-Workspace zugreifen, und führen Sie dann das Werkzeug Workspace-Cache löschen aus, um sicherzustellen, dass die Verbindung getrennt wird.
- So löschen Sie den Workspace-Cache in einem Skript auf korrekte Weise: Der Aufruf von ClearWorkspaceCache() muss im Skript der letzte Aufruf sein. Auf diese Weise stellen Sie sicher, dass alle Verweise auf Objekte entfernt werden, die ggf. auf den ArcSDE-Workspace verweisen, bevor Sie den Aufruf von ClearWorkspaceCache() ausführen.
Syntax
Parameter | Erläuterung | Datentyp |
in_data (optional) |
Die Verbindungsdatei der ArcSDE-Datenbank, die für den ArcSDE-Workspace steht, der aus dem Cache entfernt werden soll. Geben Sie den Pfad zur ArcSDE-Verbindungsdatei an, die zum Ausführen der Geoverarbeitungswerkzeuge verwendet wurde, um den jeweiligen ArcSDE-Workspace aus dem Cache zu entfernen. Wenn Sie keinen Eingabeparameter übergeben, werden alle ArcSDE-Workspaces aus dem Cache gelöscht. | Data Element; Layer |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "ClearWorkspaceCache" im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "c:/connectionFiles/Connection to gpserver.sde"
arcpy.ClearWorkspaceCache_management()
Beispiel zum Trennen der Verbindung mit ArcSDE durch Löschen des ArcSDE-Workspace-Cache. Zwei Methoden werden dargestellt: 1. Trennen einer bestimmten Verbindung durch Angeben des Namens der Verbindungsdatei. 2. Trennen aller Verbindungen durch Leerlassen des Parameters der ArcSDE-Verbindungsdatei.
# Name: ClearWorkspaceCache_Example.py
# Description: Two examples: 1. Remove the specified ArcSDE workspace from the workspace cache,
# terminating the connection to ArcSDE from this client
# 2. Remove many ArcSDE workspaces from the workspace cache,
# terminating the connection to ArcSDE from this client for each workspace.
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "Database Connections\Connection to gpserver.sde" # Creates a connection to ArcSDE
fcList = arcpy.ListFeatureClasses() # Show that we are connected
print str(fcList) + "\n"
env.workspace = "" # Release hold on ArcSDE workspace created in previous step.
# Execute the Clear Workspace Cache tool
arcpy.ClearWorkspaceCache_management("Database Connections\Connection to gpserver.sde")
print arcpy.GetMessages() + "\n"
# Clear the Workspace Cache of multiple connections
# Set environment settings
# Connection 1
env.workspace = "Database Connections\Connection to gpServer.sde" # Creates a connection to ArcSDE
fcList = arcpy.ListFeatureClasses() # Show that we are connected
print str(fcList) + "\n"
# Connection 2
env.workspace = "Database Connections\Connection to ProductionServer.sde" # Creates a connection to ArcSDE
fcList = arcpy.ListFeatureClasses() # Show that we are connected
print str(fcList) + "\n"
# Connection 3
env.workspace = "Database Connections\Connection to TestServer.sde" # Creates a connection to ArcSDE
fcList = arcpy.ListFeatureClasses() # Show that we are connected
print str(fcList) + "\n"
env.workspace = "" # Release hold on ArcSDE workspace created in previous steps.
# Execute the Clear Workspace Cache tool
arcpy.ClearWorkspaceCache_management() # If you do not specify a connection, all ArcSDE workspaces will be removed from the Cache
print arcpy.GetMessages()