CÓMO
Se produce un error al utilizar la función ArcPy.DisconnectUser en una secuencia de comandos de Python como tarea programada para desconectar usuarios de una base de datos corporativa y se devuelve el siguiente mensaje de error:
Error: RuntimeError:Connection information provided was for a non-administrative user
El error se produce aunque el usuario tenga ciertos privilegios administrativos para acceder a la base de datos o para la autenticación de la base de datos y aunque el archivo de conexión tenga credenciales almacenadas.
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
Las posibles causas incluyen:
Utilice una cuenta de usuario administrador para desconectar a los usuarios. Si se conceden los privilegios adecuados y el problema se repite, resuélvalo denegando nuevas conexiones a la base de datos e implementando el módulo de tiempo para garantizar que los intentos activos de conexión fallen. Para ello, siga los pasos que se indican.
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")
A continuación, se muestra el 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. de artículo: 000018531
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora