Wenn die Static Files nicht funktionieren

05.
August
2020
Veröffentlicht von: Andreas Mößel

Oracle’s Application Express auf eine neue Version zu upgraden ist nicht schwer. Aber auch bei einer einfachen Sache können Probleme entstehen. Was also tun, wenn nach einer Installation oder einem Upgrade keine Bilder aus dem Static Application/Workspace Files mehr angezeigt werden?

Problembeschreibung

Es wurde ein Upgrade der APEX Version von 5.2 auf 19.2 durchgeführt. Die Installation verlief reibungslos und wies keine Fehler auf. Es wurden keine alten Applikationen aus der alten Version importiert, das Ziel war es neue Anwendungen zu entwickeln. Doch nach einiger Zeit, als man ein Bild in den Static Application/Workspace Files abgelegt und auf eine der Seiten eingebunden hat, wurde festgestellt, dass dieses nicht angezeigt wird. Weder Bilder, das Anwendungs-Icon noch andere Dateien werden beim Ausführen gefunden und fehlen auf den Seiten.

Fehlerquelle

Das Problem liegt in der Verknüpfung von ORDS (Oracle REST Data Service), der REST-Schnittelle für Oracle Datenbanken, der zwischen dem Webserver und der Datenbank vermittelt, mit dem Image-Verzeichnis. Wenn bei der Installation der neuen APEX-Version das Image-Verzeichnis umbenannt wurde, z.B. von /i/ auf /image/, dann sucht das ORDS die Dateien im falschen Verzeichnis und findet sie nicht mehr.

In diesem Fall kann man ORDS neu konfigurieren, indem man folgendes Kommando am Speicherort von ORDS auf dem Filesystem ausführt:

java -jar ords.war validate

Dieser Befehl validiert die ORDS-Konfiguration und behebt das oben geschilderte Problem der Installation indem es die Verknüpfung auf das aktuelle Image-Verzeichnis setzt.

Wenn diese Maßnahme nicht hilft, sollte die eingesetzte ORDS-Version geprüft werden, denn wenn sie zu alt ist, dann tritt das gleiche Problem auf. Gerade APEX 19 benötigt als Voraussetzung ORDS 19 oder höher (siehe: https://docs.oracle.com/en/database/oracle/application-express/19.2/htmig/Oracle-AE-installation-requirements.html#GUID-848EF7A3-07D0-427E-A080-694144570136).

Wird auf diese Voraussetzung nicht geachtet oder es wird unbeabsichtigt doch eine Vorgängerversion verwendet, dann kann es ebenfalls zu Problemen wie dem Beschriebenen kommen.

Um zu erfahren welche Version verwendet wird, gibt es mehrere Möglichkeiten:

  • java -jar ords.war version am Speicherort des War-Files, welches vom Webserver benutzt wird
  • select * from apex_release auf der Datenbank mit der APEX-Installation
  • In der Entwicklungsumgebung von APEX: Help (oben rechts neben dem Benutzernamen) -> About -> APEX_LISTENER_VERSION

Zusammenfassung

Um Probleme beim Upgrade von APEX zu verhindern, sollte darauf geachtet werden, den gleichen Image-Pfad wie beim Vorgänger zu verwenden. ORDS kann jeder Zeit mit „java -jar ords.war -validate“ überprüft werden. Es sollte immer die aktuelle ORDS-Version benutzt werden.

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.