Java 使用小程序上载大于32KB的文件时出现异常

Java 使用小程序上载大于32KB的文件时出现异常,java,exception,jdbc,applet,Java,Exception,Jdbc,Applet,我有一个webapp,它使用twainscanner Applet扫描图像并将其上传到数据库。 我的小程序是本地安装的。我已经编写了一个存储过程,将文件作为bfile上传,并从小程序调用该过程。当文件小于32KB时,一切正常,但对于大于32KB的文件,我得到以下异常 java.sql.SQLException: Data size bigger than max size for this type: 447596 at oracle.jdbc.driver.DatabaseError.thro

我有一个webapp,它使用twainscanner Applet扫描图像并将其上传到数据库。 我的小程序是本地安装的。我已经编写了一个存储过程,将文件作为bfile上传,并从小程序调用该过程。当文件小于32KB时,一切正常,但对于大于32KB的文件,我得到以下异常

java.sql.SQLException: Data size bigger than max size for this type: 447596
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.OraclePreparedStatement.setRAW(OraclePreparedStatement.java:5329)
at oracle.jdbc.driver.OraclePreparedStatement.setBinaryStreamInternal(OraclePreparedStatement.java:6873)
at oracle.jdbc.driver.OracleCallableStatement.setBinaryStream(OracleCallableStatement.java:4497)
请给我提个建议。 我正在使用classes12.jar文件连接到DB


还请告诉我本地安装的小程序使用哪些驱动程序…web应用程序中的驱动程序还是客户端计算机上的驱动程序?

我也遇到了同样的问题

我将jdbc驱动程序更改为
ojdbc14.jar

参考此链接并解决您的问题。现在在JDK1.8中,不支持jdbc

为什么要使用ODBC?
理想情况是“纯Java”:没有本机代码,没有依赖于平台的特性。但是您可能需要立即开始开发工作,而不必等待DBMS提供纯Java的JDBC驱动程序。部分本地驱动程序,如JDBC-ODBC桥,让您创建的程序在纯Java驱动程序可用时可以轻松地适应它们。

我的问题解决了…驱动程序就是问题所在…classes12.jar包中的Oracle驱动程序对上载大小有限制..我将其替换为ojdbc14.jar,但我的小程序仍然引用其他目录中的旧文件..因此更改了文件我把答案贴了出来,以便对其他人有用


感谢大家的回复。

这里有人解决了同样的问题:换了司机。你能告诉我们更多关于你使用的DB/版本吗?在bfile
MAX\u CHUNK\u SIZE
=32512中有一个静态的final int。您可能需要使用不同的type@StephaneM我使用Oracle10g数据库…我看到了您链接的帖子,在更改驱动程序后,我在JSP和servlet上没有发现异常,但APPLET仍然抛出错误exceptions@Sionnach733不,我的字典里没有这样的东西code@Pranav这就是您正在使用的类吗?我尝试了ojdbc14.jar,但Applet仍然存在给出了相同的异常…小程序是否也有相同的问题?不,我在servlet中有它,但这不会有什么区别。我的servlet在更改驱动程序后不会给出异常,但APPLET仍然会…APPLET是否使用来自webapp或客户端机器的驱动程序????你能澄清一点吗?ODBC纯粹是java代码,因此它依赖于平台,因为java是开源的,但JDBC使用了一些可能不是的本机API使用一些功能进行迁移。好吧,那你建议我怎么做?