DisconnectUser

Краткая информация

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

Обсуждение

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

  • Функция DisconnectUser должна использовать административное подключение к базе данных.
  • Если эту функцию пытается выполнить пользователь, не владеющий правами администратора, функция завершается с ошибкой.
  • Если выбрать всех пользователей, то все они будут отключены, кроме подключения администратора, которое используется для выполнения этой функции или базы данных.

Синтаксис

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

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

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

String
users
[users,...]

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

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

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

Integer

Пример кода

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

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

import arcpy

arcpy.DisconnectUser("D:\\MyProject\\admin.sde", "ALL")
DisconnectUser (Отключить пользователя). Пример 2

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

import arcpy

admin_workspace = "D:\\MyProject\\admin.sde"
arcpy.env.workspace = admin_workspace
user_name = "GDB"

# Look through the users in the connected user list and get the connection ID.
# Use the connection ID to disconnect the user that matches the username variable
users = arcpy.ListUsers(admin_workspace)
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 = "D:\\MyProject\\admin.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 user_names list
for user in connected_users:
    if user.Name in user_names:
        print('Disconnecting {0}'.format(user.Name))
        arcpy.DisconnectUser(admin_workspace, user.ID)

Связанные разделы