DisconnectUser

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

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

Обсуждение

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

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

Синтаксис

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

The enterprise geodatabase the users will be disconnected from.

The connection properties specified in the enterprise geodatabase must have administrative rights that allow the user to disconnect other connections.

String
users
[users,...]

Specifies the users who will be disconnected from the geodatabase.

  • sde_idUsers will be disconnected based on the ID value returned from the ListUsers function. This can be passed to the function as an individual SDE ID value or a list containing multiple SDE ID values.
  • ALLAll connected users will be disconnected.
Примечание:

This function will not disconnect the user who is running the function.

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)

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