HOW TO
Die Verwendung der ArcPy.DisconnectUser-Funktion in einem Python-Skript als geplanter Task zum Trennen der Benutzerverbindung zu einer Enterprise-Datenbank schlägt fehl, und es wird die folgende Fehlermeldung zurückgegeben:
Error: RuntimeError:Connection information provided was for a non-administrative user
Der Fehler tritt auf, obwohl der Benutzer über bestimmte Administratorberechtigungen für den Zugriff auf die Datenbank oder für die Datenbankauthentifizierung verfügt und in der Verbindungsdatei Anmeldeinformationen gespeichert sind.
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
Mögliche Gründe sind unter anderem:
Verwenden Sie ein Administratorbenutzerkonto, um die Verbindung zu Benutzern zu trennen. Wenn die richtigen Berechtigungen erteilt wurden und das Problem erneut auftritt, beheben Sie es, indem Sie neue Verbindungen mit der Datenbank verweigern und das Zeitmodul implementieren, um sicherzustellen, dass aktive Verbindungsversuche fehlschlagen. Führen Sie dazu die angegebenen Schritte aus.
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")
Nachfolgend finden Sie den vollständigen Code:
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")
Artikel-ID: 000018531
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten