DisconnectUser

描述

允许管理员断开当前连接到企业级地理数据库的用户的连接。

讨论

管理员可使用 DisconnectUser 函数断开用户与企业级地理数据库的连接。该函数可用于补充 ArcGIS Desktop 中的已连接用户对话框。

  • DisconnectUser 函数必须使用连接到数据库的管理连接。
  • 如果尝试以非管理员用户身份运行此函数,函数将无法运行。
  • 选择除用于执行函数或数据库的管理员连接之外的所有用户,断开其连接。

语法

DisconnectUser (sde_workspace, {users})
参数说明数据类型
sde_workspace

包含要断开连接的用户的企业级地理数据库。

在企业级地理数据库中指定的连接文件必须具有管理权限以允许用户断开其他连接。

String
users
[users,...]

指定将断开哪些用户与地理数据库的连接。

  • sde_idListUsers 函数返回的 ID 值。可将其作为单个 sde_id 或包含多个 sde_id 的列表传递到函数。
  • ALL关键字指定应断开所有已连接的用户。
注:

DisconnectUser 将不会断开正在执行函数的用户的连接。

Integer

代码示例

DisconnectUser 示例 1

以下示例说明了从地理数据库断开所有用户连接的方法。

import arcpy

arcpy.DisconnectUser("D:\\MyProject\\admin.sde", "ALL")
DisconnectUser 示例 2

以下示例演示了断开单一用户连接的命令行。在本例中,管理员按照 ListUsers 函数返回的用户名列表提取要断开连接的用户 SDE ID。

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)

相关主题