1

尊敬的专家

我正在尝试执行映射到 Java 存储过程的 oracle 过程,但收到以下错误:

ORA-29532: Java call terminated by uncaught Java exception: 
System error : java/lang/UnsupportedClassVersionError

我正在使用 Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit

我使用 Java 最新版本“Java SE 7u15”编译了源代码,并且我知道 Oracle 11g R2 使用的是 java 5.0 或 1.5,因为该程序是从 Oracle PLSQL 执行的。我是否需要将编译版本降级到 1.5 是否有助于解决此问题

任何建议将不胜感激

4

2 回答 2

1

当 JVM 尝试读取类文件并发现不支持特定类文件中的主要和次要版本号时,将引发此错误。

当使用更高版本的 Java Compiler 生成类文件而不是用于执行该类文件的 JVM 版本时,就会发生这种情况。

以下是解决问题的几个步骤:

  1. 找出这个 UnSupportedClassVersionError 来自哪个 jar 或类文件?
  2. 如果源代码可用,请尝试使用您用于运行程序的 JDK 版本编译该 jar 的源代码。
  3. 如果您没有源代码,请尝试查找该库的兼容版本。
  4. 增加您用于运行程序的 JRE 版本。

检查以下链接以获取更多信息:

http://geekexplains.blogspot.com/2009/01/javalangunsupportedclassversionerror.html

http://javarevisited.blogspot.com/2011/07/javalangunsupportedclassversionerror.html

于 2013-02-26T09:13:59.847 回答
0

看起来您使用的 Java 版本低于驱动程序编译到的版本,或者 32 位/64 位 java 与 oracle 不匹配。

于 2013-02-26T09:13:55.900 回答