我有一个使用Twain Scanner Applet扫描图像并将其上传到数据库的webapp。 我的applet是在本地安装的。我编写了一个存储过程来将文件作为bfile上传,我从applet调用该过程。当文件小于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。
还告诉我本地安装的applet使用了哪些驱动程序... Web应用程序中存在的驱动程序或客户端计算机上存在的驱动程序?
答案 0 :(得分:1)
我遇到了同样的问题。
我解决了将jdbc驱动程序更改为ojdbc14.jar
答案 1 :(得分:0)
http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.html
参考此链接并解决您的问题。现在在JDK 1.8中,不支持jdbc。
为什么要使用ODBC呢? 理想的是“纯Java”:没有本机代码,没有平台相关功能。但您可能需要立即开始开发工作,而无需等待DBMS提供仅Java的JDBC驱动程序。部分本机驱动程序(例如JDBC-ODBC Bridge)允许您创建程序,以便在Pure Java驱动程序可用时轻松适应它们。
答案 2 :(得分:0)
我的问题解决了......驱动程序是问题... classes12.jar包中的Oracle驱动程序对上传大小有限制..我用ojdbc14.jar替换它但我的applet仍然指的是一些旧文件其他目录..所以改变了那里的文件,现在工作正常..我发布了答案,以便它可能对其他人有用..
感谢大家的回复。