DisconnectUser (arcpy)

Резюме

Позволяет администратору отключать пользователей, подключенных в данный момент к многопользовательской базе геоданных.

Обсуждение

Функция DisconnectUser используется пользователем-администратором для отключения пользователей от многопользовательской базы геоданных. Эта функция используется для добавления диалогового окна Подключенные пользователи (Connected users), которое имеется в ArcGIS for Desktop.

Синтаксис

DisconnectUser (sde_workspace, {users})
ПараметрОбъяснениеТип данных
sde_workspace

Многопользовательская база геоданных, содержащая пользователей, которые будут отключены.

Свойства подключения, заданные в многопользовательской базе геоданных, должны иметь права администратора, которые бы позволяли пользователю отключать другие подключения.

String
users
[users,...]

Указывает, какие пользователи будут отключены от базы геоданных.

  • sde_idЗначение ID, выведенное функцией ListUsers или закладкой Подключения (Connections), в диалоговом окне Администрирование базы геоданных (Geodatabase Administration). Может передаваться в функцию как отдельный идентификатор sde_id или список Python, в котором содержится несколько идентификаторов sde_id.
  • ALLКлючевое слово, означающее, что все подключенные пользователи должны быть отключены.
ПримечаниеПримечание:

DisconnectUser не отключает пользователя, выполняющего функцию.

Integer

Пример кода

DisconnectUser (Отключить пользователя). Пример 1

Следующий пример демонстрирует, как отключить всех пользователей от базы геоданных.

import arcpy

arcpy.DisconnectUser("Database Connections/admin@sde.sde", "ALL")
DisconnectUser (Отключить пользователя). Пример 2

Следующий пример демонстрирует, как запустить команду для отключения одного пользователя. В этом примере идентификатор SDE ID извлекается на основе имени пользователя, которого администратор хотел бы исключить из списка подключенных, выведенного функцией ListUsers.

import arcpy

admin_workspace = "Database Connections/tenone@sde.sde"
arcpy.env.workspace = admin_workspace
user_name = "GDB"

# Look through the users in the connected user list and get the SDE ID.
# Use the SDE ID to disconnect the user that matches the username variable
users = arcpy.ListUsers() # The environment is set, no workspace is needed.
for item in users:
    if item.Name == user_name:
        arcpy.DisconnectUser(admin_workspace, item.ID)
DisconnectUser (Отключить пользователя). Пример 3

Следующий пример демонстрирует, как запустить команду DisconnectUser, чтобы отключить нескольких пользователей.

import arcpy

# Set the admistrative workspace connection
admin_workspace = "Database Connections/tenone@sde.sde"

# Create a list of users to disconnect.
user_names = ["TRAVIS", "DEBBIE", "PHIL"]

# Get a list of connected users
connected_users = arcpy.ListUsers(admin_workspace)

# Loop through the list of connected users and execute DisconnectUser
# if the user name is in the userNamesList created earlier:
for user in connected_users:
    if user.Name in user_names:
        print('Disconnecting {0}'.format(user.Name))
        arcpy.DisconnectUser(admin_workspace, user.ID)

Связанные темы

9/10/2013