Problem:
Bei Zugriff auf 3A Daten mit FME wird im FME log-File folgende Meldung ausgegeben:
"Unable to read from the table/feature class 'AXxxxxx'. If 'AXxxxxx' contains a class extension, make sure it is registered on this computer. It may be that 'AXxxxxx' contains a feature type that is only available in ArcGIS Pro or Pro-compatible ArcGIS Server, such as Pro Annotations. ..."
und die Daten werden nicht gelesen.
Der Zugriff über ArcCatalog, ArcMap oder ArcGIS Server funktioniert aber.
Ursache:
Die Fehlermeldung ist dadurch bedingt, dass die 3A Class Extension nicht gefunden oder nicht erfolgreich geladen wird. Für einen Zugriff mit FME auf Featureklassen mit 3A Daten sind verschiedene Aspekte zu beachten.
Lösung:
Anpassung der *.exe.config-Dateien
Die Assemblies von 3A sind gegen die Version 10.6.1 kompiliert. Beim Laden der 3A Class Extension werden in der Folge ArcGIS Assemblies in der Version 10.6.1 gesucht. Bei Installationen mit ArcGIS Versionen > 10.6.1 werden diese aber nicht gefunden.
Den Anwendungen muss gezeigt werden, dass auch aktuellere Versionen der ArcGIS Assemblies verwendet werden können. Bei der Installation von ArcGIS wird dies bereits für die ArcGIS eigenen Applikationen in den *.exe.config entsprechend gesetzt.
Für die externe Anwendung wie FME müssen ebenfalls *.exe.config-Dateien mit entsprechender Konfiguration angelegt werden. Sofern es eine solche Datei noch nicht gibt, kann man die ArcCatalog.exe.config in das jeweilige Verzeichnis neben die *.exe kopieren und entsprechend dem Anwendungsnamen umbenennen. Gibt es eine solche Datei bereits, muss die Konfiguration aus der ArcCatalog.exe.config in die bestehende übernommen werden.
Bei Verwendung von ArcGIS Version 10.7.x sieht der Inhalt der *.exe.config bzgl. der Version dann so aus:
<bindingRedirect oldVersion="9.3.0.0-10.6.0.0" newVersion="10.7.0.0" />
Bei Verwendung von ArcGIS Version 10.8.x sieht der Inhalt der *.exe.config bzgl. der Version dann entsprechend so aus:
<bindingRedirect oldVersion="9.3.0.0-10.7.0.0" newVersion="10.8.0.0"/>
Bekannte Anwendungskonfigurationen, die vorhanden sein müssen:
fme.exe.config
fmeworker.exe.config
fmeworkbench.exe.config
fmeobjectsworker.exe.config
fmedatainspector.exe.config
Hinweis:
Bei Aktualisierung von ArcGIS müssen dann die entsprechenden Konfigurationsdateien aktualisiert werden.
FME 64-bit
Beim Einsatz von FME 64-bit muss weiterhin eine ArcGIS Server Installation und eine 3A Server Installation auf dem Rechner vorhanden sein. Hintergrund ist, dass nur bei Installation eines ArcGIS Server eine Registrierung der 3A Class Extension für 64-bit möglich ist.
Hinweis:
Sollte beim Ablaufen der Workbench (mit Reader GEODATABASE_SDE) folgender Fehler ausgegeben werden (nur mit FME 64 Bit, nicht 32 Bit) :
"Unable to read from the table/feature class 'AXxxxxx'. If 'AXxxxxx' contains a class extension, make sure it is registered on this computer. It may be that 'AXxxxxx' contains a feature type that is only available in ArcGIS Pro or Pro-compatible ArcGIS Server, such as Pro Annotations. If so, please install Pro-Compatible ArcGIS Product, or if Pro-Compatible ArcGIS product already installed, update Python Compatibility to 'Esri ArcGIS Python 3.6+' or 'Esri ArcGIS Python 3.7+'. To update setting, go to: Navigator -> Workspace Parameters -> Scripting -> Python Compatibility ..."
dann ist keine 3A Server Installation am Rechner vorhanden (bitte installieren) oder es ist eine falsche Reihenfolge bei der Installation von ArcGIS Server und 3A Server erfolgt.
Es muss zuerst die ArcGIS Server Installation erfolgen und danach die 3A Server Installation. Wurde diese Reihenfolge nicht eingehalten, so kann die 3A Server Installation über Start - Apps und Features - Ändern (Weiter) - Reparieren nachträglich korrigiert werden:
Umgebungsvariablen FMERUNNING und DI_APPLICATION_CONTEXT
Beim Ausführen einer FME-Workbench mit Zugriff auf 3A Daten in einer SDE muss vor Aufruf der Workbench die Umgebungsvariable FMERUNNING auf den Wert 1 gesetzt werden. Dies kann auch in einem Batch-Script erfolgen.
Dadurch wird die folgende Fehlermeldung beim Ausführen der FME-Workbench verhindert und der Logger bzw. DataInspector wird, wenn jeweils in der Workbench vorhanden, aufgeblendet:
"...
Translation was SUCCESSFUL with 7 warning(s) (0 feature(s) output)
FME Session Duration: 20.9 seconds. (CPU: 3.2s user, 1.9s system)
END - ProcessID: 4308, peak process memory usage: 305344 kB, current process memory usage: 287424 kB
Translation was SUCCESSFUL
Error running translation.
"
Sollte keine ArcGIS Server Lizenz zur Verfügung stehen so ist zusätzlich noch die Variable DI_APPLICATION_CONTEXT=DESKTOP zu setzen.
Beispiel:
set DI_APPLICATION_CONTEXT=DESKTOP
set FMERUNNING=1
C:\Temp\workbench.fmw
Achtung:
Wenn die Variable auf FMERUNNING=1 gesetzt ist, darf kein schreibender NAS-Prozess aktiv sein.
Hinweis:
Die Umgebungsvariable FMERUNNING steht für 3A Server (32 Bit bzw. 64 Bit) erst ab Version 6.7.2.1 bzw. 7.0.4.0 zur Verfügung.
Frühere Version können ggf. auf Anfrage angepasst werden.
(aktualisiert am 19.08.2022)
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.