Nous avons une classe Java dans notre base de données Oracle et récemment une ligne de code dans cette classe Java lance une erreur:
static BASE64Encoder B64 = new BASE64Encoder();
Nous voyons une erreur
Java.lang.ExceptionInInitializerError
sur cette ligne de code.
Je ne suis pas sûr de ce qui a changé du côté de la base de données car nous n'avons pas de privilèges SYS ou d'accès à l'hôte.
Je souhaite vérifier la version JDK exécutant notre base de données Oracle -
Oracle Database 11g Enterprise Edition version 11.2.0.3.0 - Production 64 bits.
Merci.
SELECT dbms_Java.get_ojvm_property(PROPSTRING=>'Java.version') FROM dual
solution 1) sur l'hôte de la base de données
cd $Oracle_HOME/jdk/bin
Java -version
solution 2) créer une fonction PL/SQL pour retourner Java propriétés système
create function get_Java_property(prop in varchar2)
return varchar2 is
language Java name 'Java.lang.System.getProperty(Java.lang.String) return Java.lang.String';
Et exécutez une sélection pour la version Java
select get_Java_property('Java.version') from dual;
solution 3) vérifiez la réponse de SteveK
Les versions certifiées sont:
Oracle 12.2/18.1 JVM est 1.8
La base de données Oracle 12c intégrée JVM prend en charge JDK 1.6 et 1.7
La base de données Oracle 11g> = 11.2.0.4 intégrée la JVM prend en charge JDK 1.6
La base de données Oracle 11g intégrée JVM prend en charge JRE 1.5 .
La base de données JVM intégrée Oracle 10g prend en charge JRE 1.4 .
La base de données JVM intégrée Oracle 9i prend en charge JRE 1.3