Очистить кэш рабочей области (Clear Workspace Cache) (Управление данными)
Резюме
Очищает кэш всех рабочих областей ArcSDE.
Использование
-
Этот инструмент работает только с рабочими областями ArcSDE.
-
Этот инструмент может использоваться для помощи в отключении простаивающих соединений ArcSDE в долго работающем приложении.
-
Если вы запускаете инструмент, не указав элемент Входных данных, все рабочие области ArcSDE в кэше. Укажите конкретный файл .sde, связанный с рабочей областью, которую вы хотите очистить, чтобы очистить конкретную рабочую область ArcSDE.
- Чтобы правильно очистить кэш рабочей области в приложении ArcCatalog, после использования этого инструмента в ArcCatalog необходимо перейти к другой папке в таблице содержания и выполнить команду обновления, до того как подключение ArcSDE будет прервано.
- Чтобы правильно очистить кэш рабочей области в приложении ArcMap, удалите все ссылки на данные в ArcMap, которые могут иметь доступ к рабочей области ArcSDE, а затем запустите инструмент Очистить кэш рабочей области (Clear Workspace Cache), чтобы прервать подключение.
- Чтобы правильно очистить кэш рабочей области в скрипте, команду ClearWorkspaceCache() следует указать в скрипте в последнюю очередь, чтобы обеспечить удаление всех ссылок на объекты, которые могут указывать на рабочую область ArcSDE, до запуска команды ClearWorkspaceCache().
Синтаксис
Параметр | Объяснение | Тип данных |
in_data (дополнительно) |
Файл подключения к базе данных ArcSDE, представляющий рабочую область ArcSDE , который будет удален из кэша. Укажите путь к файлу подключения ArcSDE, которое использовалось при запуске инструментов геообработки, чтобы удалить эту рабочую область ArcSDE из кэша. Отсутствие входного параметра удалит все рабочие области ArcSDE из кэша. | Data Element; Layer |
Пример кода
Пример скрипта Python для выполнения функции Очистить кэш рабочей области (Clear Workspace Cache) с запуском из окна Python в ArcGIS.
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.
# 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()