清除工作空间缓存 (数据管理)
摘要
清除 ArcSDE 工作空间缓存中的全部 ArcSDE 工作空间。
用法
-
此工具仅处理 ArcSDE 工作空间。
-
在长时间运行的应用程序中,可以使用此工具断开空闲的 ArcSDE 连接。
-
如果运行此工具时未指定输入数据元素,则将清除 ArcSDE 工作空间缓存中所有的 ArcSDE 工作空间。若要清除特定的 ArcSDE 工作空间,可指定与要清除的工作空间关联的特定 .sde 文件。
- 要正确清除 ArcCatalog 中的工作空间缓存:在 ArcCatalog 中使用该工具后,必须导航至内容列表中其他的文件夹并刷新,然后再断开 ArcSDE 连接。
- 要正确清除 ArcMap 中的工作空间缓存:移除 ArcMap 中所有可能正在访问 ArcSDE 的数据引用,然后运行清除工作空间缓存工具以确保断开连接。
- 若要正确清除脚本中的工作空间缓存:调用 ClearWorkspaceCache() 的操作应为脚本中最后使用的调用,要确保移除任何可能正在指向 ArcSDE 工作空间的对象引用后再调用 ClearWorkspaceCache()。
注:
清除 ArcSDE 工作空间缓存中的 ArcSDE 工作空间时,不能保证会断开与 ArcSDE 服务器的连接。只能确保在清除后的 ArcSDE 工作空间中不再留有任何地理处理器对象。如果其他进程含有到此 ArcSDE 工作空间的引用,则将维持两者的连接。
语法
ClearWorkspaceCache_management ({in_data})
参数 | 说明 | 数据类型 |
in_data (可选) |
ArcSDE 数据库连接文件代表要从 ArcSDE 工作空间缓存中移除的 ArcSDE 工作空间。指定在运行地理处理工具时使用的 ArcSDE 连接路径,以从缓存中移除特定的 ArcSDE 工作空间。不给出任何输入数据将会清除该缓存中的所有 ArcSDE 工作空间。 | Data Element; Layer |
代码示例
ClearWorkspaceCache 示例(Python 窗口)
以下 Python 窗口脚本演示了如何在立即模式下使用 ClearWorkspaceCache 函数。
import arcpy from arcpy import env env.workspace = "c:/connectionFiles/Connection to gpserver.sde" arcpy.ClearWorkspaceCache_management()
清除工作空间缓存示例
示例展示了如何通过清除 ArcSDE 工作空间缓存断开与 ArcSDE 的连接。这里展示了两种方法。1. 通过指定连接文件名称来断开特定连接。2. 通过将 ArcSDE 连接文件参数留空可断开所有连接。
# 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. # Author: ESRI # 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("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() # If you do not specify a connection, all ArcSDE workspaces will be removed from the Cache print arcpy.GetMessages()
环境
相关主题
许可信息
ArcView: 是
ArcEditor: 是
ArcInfo: 是
7/10/2012