Краткая информация
Позволяет администратору отключать пользователей, подключенных в данный момент к многопользовательской базе геоданных.
Описание
Функция DisconnectUser используется пользователем-администратором для отключения пользователей от многопользовательской базы геоданных. Эта функция используется для добавления диалогового окна Подключенные пользователи, которое имеется в ArcGIS for Desktop.
- Функция DisconnectUser должна использовать административное подключение к базе данных.
- Если эту функцию пытается выполнить пользователь, не владеющий правами администратора, функция завершается с ошибкой.
- Если выбрать всех пользователей, то все они будут отключены, кроме подключения администратора, которое используется для выполнения этой функции или базы данных.
Синтаксис
DisconnectUser (sde_workspace, {users})
Параметр | Объяснение | Тип данных |
sde_workspace | Многопользовательская база геоданных, содержащая пользователей, которые будут отключены. Свойства подключения, заданные в многопользовательской базе геоданных, должны иметь права администратора, которые бы позволяли пользователю отключать другие подключения. | String |
users [users,...] | Указывает, какие пользователи будут отключены от базы геоданных.
| 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)