Rav*_*pta 16 java oracle oracle11g
我们的Oracle数据库中有一个Java类,最近该java类中的一行代码抛出一个错误:
static BASE64Encoder B64 = new BASE64Encoder();
Run Code Online (Sandbox Code Playgroud)
我们看到了错误
java.lang.ExceptionInInitializerError
在这行代码上.
我不确定数据库端有什么变化,因为我们没有SYS权限或访问主机.
我希望检查运行Oracle DB的JDK版本 -
Oracle Database 11g企业版11.2.0.3.0版 - 64位生产.
谢谢.
小智 30
SELECT dbms_java.get_ojvm_property(PROPSTRING=>'java.version') FROM dual
Run Code Online (Sandbox Code Playgroud)
Sub*_*mal 13
解决方案1)在数据库主机上
cd $ORACLE_HOME/jdk/bin
java -version
Run Code Online (Sandbox Code Playgroud)
解决方案2)创建一个PL/SQL函数来返回Java系统属性
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';
Run Code Online (Sandbox Code Playgroud)
并运行Java版本的选择
select get_java_property('java.version') from dual;
Run Code Online (Sandbox Code Playgroud)
解决方案3)检查SteveK的答案
Ank*_*hal 12
认证版本是:
Oracle 12.2/18.1 JVM是1.8
Oracle 12c数据库嵌入式JVM支持JDK 1.6和1.7
Oracle 11g> = 11.2.0.4数据库嵌入式JVM支持JDK 1.6
Oracle 11g数据库嵌入式JVM支持JRE 1.5.
Oracle 10g数据库嵌入式JVM支持JRE 1.4.
Oracle 9i数据库嵌入式JVM支持JRE 1.3