Mehr

Arcpy.PackageWorkspace behält den Verweis auf die SDE Enterprise-Geodatabase nicht bei

Arcpy.PackageWorkspace behält den Verweis auf die SDE Enterprise-Geodatabase nicht bei


Ich veröffentliche einen Geoverarbeitungs-Service auf ArcGIS Server v10.3.0, der Daten in einer ArcSDE Enterprise-Geodatabase aktualisiert.

Ich habe folgendes am Anfang meines Skripts:

arcpy.env.workspace = "Datenbankverbindungen/[email protected]"

Wie unter Verbinden des Geoverarbeitungs-Service mit ArcSDE? beschrieben, wird diese Zeile geändert, wenn ich das Skript als Geoverarbeitungs-Service veröffentliche:

arcpy.env.workspace = arcpy.env.packageWorkspace

Das ist alles schön und gut, aberarcpy.env.packageWorkspaceist einfach derv101Ordner für diese Geoverarbeitungsaufgabe. Es ist nicht die eigentliche .SDE-Verbindungsdatei. Ich kann bestätigen, dass die .SDE-Verbindungsdatei in den verschoben wirdv101Ordner, aberarcpy.env.packageWorkspaceist einfach ein Dateipfad zumv101Ordner - nicht diese Datei.

Aus diesem Grund, wenn ich anrufearcpy.ListFeatureClasses()oderarcpy.ListDatasets(), wird eine leere Liste zurückgegeben. Soweit ich das beurteilen kann, liegt dies daran, dass der Arbeitsbereich auf einen Ordner im Dateisystem des Servers und nicht auf eine .SDE-Datei festgelegt ist.

Wie werden .py-Dateien neu geschrieben, wenn sie als Geoverarbeitungs-Services veröffentlicht werden? Was ist die richtige Syntax, wenn Sie den Arbeitsbereich so einstellen, dass die veröffentlicht Version des Skripts verweist auf eine .SDE-Datei und nicht nur auf einen Dateiordner?


Versuchen Sie dies ... ändernarcpy.env.workspace = "Datenbankverbindungen/[email protected]"zu

import os myfolder = 'c:mysdefiles' sdePath = os.path.join(myfolder, '[email protected]') arcpy.env.workspace = sdePath

Dann müssen Sie natürlich die sde-Datei vom Knoten der Datenbankverbindungen in den Ordner kopieren, auf den Sie in der Variablen myfolder verwiesen haben. Registrieren Sie diesen Ordner auch im Datenspeicher des Servers.


Schau das Video: Elaboración de un Geodatabase y creación de Topología? Tutorial ArcGis