2

嗨,当我从 J2EE 应用程序调用任何存储过程时,我遇到了这个异常。

调用存储过程时出现异常:类型长度大于最大值

我有 Oracle 9.1.0.7、JDK1.4 并使用在 Weblogic 8.1 上运行的 ojdbc14.jar

请告知可能是什么根本原因?

下面是我的 ojdbc14.jar 的清单

Manifest-Version: 1.0
Implementation-Version: "Oracle JDBC Driver version - 10.1.0.2.0"
Specification-Title: "Oracle JDBC driver classes for use with JDK1.4"
Specification-Version: "Oracle JDBC Driver version - 10.1.0.2 .0"
实施-标题:"ojdbc14.jar"
创建者:1.2.2 (Sun Microsystems Inc.)
实施-时间:"Wed Jan 21 00:48:12 2004"
实施-供应商:"Oracle Corporation"
规范-供应商:“甲骨文公司”。

4

4 回答 4

2

这是一个驱动程序错误。你的版本已经 6 岁了。从这里下载最新最好的。

于 2010-05-16T21:29:43.663 回答
1

有关可能的解决方法,请参阅此帖子

有关可能的原因,请参阅此线程

不同版本的驱动和不同版本的数据库存在bug;其中大部分在以后的版本中得到修复。

例如,对于使用 DB 链接的某些非常具体的操作,Oracle 数据库 8.1.7.2 或 9.0.1.1 中的错误会产生“类型长度大于最大值”;升级到 8.1.7.3 或 8.1.7.4 或 9.0.1.2 可以解决这些问题。

例如,对于某些涉及 NLS 字符的非常具体的操作,Oracle 数据库 10.1.0.2 和 10.1.0.3 中的错误会产生“比最大值更大的类型长度”;升级到 10.1.0.4 pr 10.2.0.1 可以解决这些问题。

例如,8.1.6 的 classes12.zip 在 UNICODE 字符集中的数据库的某些操作中存在这样的错误,该错误已在 8.1.7.4 驱动程序中修复。

如果您有 Oracle 支持合同,您可以在 Oracle 支持网站上找到此信息;metalink.oracle.com 如果没有,请下载最新版本的驱动程序并祈祷...

于 2010-05-11T19:34:23.930 回答
0

我下载了最新的驱动程序,现在好多了 - 现在所有引用的位置都已更新

于 2010-05-31T13:49:10.707 回答
0

您可以考虑的另一个选项是查看您的查询参数,特别是 setFetchSize,如果它太高,则返回此错误。

java.sql.SQLException:类型长度大于最大值

在我的情况下,最大大小取决于数据库 64kb (Oracle) 我的最高值必须是 65535

参考文档: https ://docs.oracle.com/cd/E11882_01/java.112/e16548/resltset.htm#JJDBC28621

于 2018-08-08T17:46:03.343 回答