我在从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”。
答案 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