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

时间:2010-05-07 11:09:06

标签: oracle9i jdbc sqlexception weblogic8.x

我在从J2EE应用程序调用任何存储过程时遇到此异常。

  

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

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

请告知可能的根本原因?

以下是我的ojdbc14.jar

的清单
  

清单 - 版本:1.0
  实现 - 版本:“Oracle JDBC驱动程序版本 - 10.1.0.2.0”
  规范标题:“用于JDK1.4的Oracle JDBC驱动程序类”
  规范 - 版本:“Oracle JDBC驱动程序版本 - 10.1.0.2.0”
  实现 - 标题:“ojdbc14.jar”
  创建者:1.2.2(Sun Microsystems Inc.)
  实施时间:“2004年1月21日星期三00:48:12”   实施 - 供应商:“Oracle Corporation”
  规范 - 供应商:“Oracle Corporation”。

4 个答案:

答案 0 :(得分:1)

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

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

  

不同版本中存在错误   的驱动程序和不同的版本   数据库;他们中的大多数都是   在以后的版本中修复。

     

例如,错误产生“更大   类型长度超过最大值“在Oracle中   数据库8.1.7.2或9.0.1.1 for   某些非常具体的操作使用   数据库链接;升级到8.1.7.3或   8.1.7.4或9.0.1.2解决了这些问题。

     

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

     

例如,8.1.6 classes12.zip   在某些操作上有这样的错误   使用UNICODE字符的数据库   设置,已在8.1.7.4中修复   驱动程序。

     

如果您有Oracle支持   合同,你可以找到这个   有关Oracle支持的信息   现场; metalink.oracle.com如果没有,   下载最新版本的   司机和祈祷......

答案 1 :(得分:1)

这是一个驱动程序错误。您的版本已经有6年了。下载最新最好的from here

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以考虑的另一种选择是查看查询参数,特别是setFetchSize,如果其过高,则会返回此错误。

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

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

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