Freitag, 5. März 2010

ORA-29516: Aurora assertion failure

Die obige Fehlermeldung erhält man, wenn man auf einer Oracle 10gR2 Datenbank eine Java Stored Procedure aufruft, die man zuvor zwar erfolgreich mit dem JDeveloper 11gR1 in die Datenbank exportiert hat, wobei man aber die folgende Warnung übersehen hat:
ORA-29552: verification warning: java.lang.UnsupportedClassVersionError: Class1 (Unsupported major.minor version 50.0)
Hintergrund des Problems ist, das die in Oracle 10g verwendete Java-Version nicht mit der Version übereinstimmt, die im JDeveloper 11g standardmäßig verwendet wird. Abhilfe kann man dadurch schaffen, dass man in den Project Properties des betreffenden JDeveloper Projekts in der Rubrik Compiler die Option JDK Version Compatibility für Generated Class Files auf "1.4" setzt.


Danach läuft der Export ohne Fehler durch und der Aufruf der Stored Procedure funktioniert ebenfalls. Voraussetzung dafür ist aber, dass die Session beendet und neu aufgebaut wird, da bei Oracle die virtuellen Maschinen an den Sessions hängen und nicht damit klarkommen, wenn man eine Java-Klasse für eine laufende virtuelle Maschine redefiniert.

Keine Kommentare: