Instrução
O uso da função ArcPy.DisconnectUser em um script de python como uma tarefa agendada para desconectar usuários de um banco de dados enterprise falha e retorna a seguinte mensagem de erro:
Error: RuntimeError:Connection information provided was for a non-administrative user
O erro ocorre mesmo que o usuário tenha determinados privilégios administrativos para acessar o banco de dados ou para autenticação do banco de dados e o arquivo de conexão tenha credenciais armazenadas.
Note: ArcGIS Enterprise supports several different databases. Each vendor has a different definition and permission set for the administrator role. For more information about the geodatabase administrator, and on the privileges needed based on a person's role in the organization, see the help page specific to the database management system you use. See also: ArcGIS Pro: Geodatabase management
As possíveis causas incluem:
Use uma conta de usuário administrador para desconectar usuários. Se os privilégios corretos forem concedidos e o problema ocorrer novamente, resolva negando novas conexões com o banco de dados e implementando o módulo de tempo para garantir que as tentativas ativas de conexão falhem. Complete as etapas fornecidas para fazer isso.
import arcpy import time
admin_workspace = '[SDECONNECTIONFILE]' arcpy.env.workspace = admin_workspace
arcpy.AcceptConnections(admin_workspace, False)
time.sleep(120)
arcpy.DisconnectUser(admin_workspace, "ALL")
O seguinte mostra o código completo:
import arcpy import time admin_workspace = 'Database Connections\sample_connection.sde' arcpy.env.workspace = admin_workspace arcpy.AcceptConnections(admin_workspace, False) time.sleep(120) arcpy.DisconnectUser(admin_workspace, "ALL")
ID do Artigo: 000018531
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora