java - 不允许创建或设置 BLOB/CLOB Oracle

标签 java oracle jdbc oracle11g

我有一个大约200,000长度的大图像,以字节[]为单位。

每当我尝试创建 BLOB/CLOB 对象

Blob blob = con.createBlob();

prepStmt.setBlob(1, is);

尝试设置它的值,如上面所示,它会引发以下异常

“org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setBlob(DelegatingPreparedStatement.java:388) 处出现 java.lang.AbstractMethodError”

我尝试通过设置它

prepStmt.setBinaryStream(1,data,length);

它也会抛出异常,因为 setBinaryStream() 方法最多只能存储 3000 字节的数据,不能超过这个数。

我用谷歌搜索并尝试了所有可能的解决方案。

  1. 将 JDBC 和 ODBC jar 更新为最新版本
  2. 也尝试过这个 prepStmt.setObject(1, data, Types.BLOB);

我发现应用程序不允许我实例化或设置 BLOB/CLOB 对象。

我正在使用的 OJDBC4.jar 和 Oracle 11g 数据库

任何人都可以帮助我做错什么吗?

最佳答案

我通过升级 JDBC 和 ODBC jar 并将它们放入 Tomcat lib 文件夹中解决了该问题

关于java - 不允许创建或设置 BLOB/CLOB Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209803/

相关文章:

java - 首先递归快速排序的小边

oracle 更快的分页查询

java - 使用JAVA从Oracle数据库读取网络文件

Java/JDBC - 使用 TableModels 显示单个数据

java - 我可以在获取数据并将其加 1 时执行此操作吗?

java - 关闭 java PreparedStatement 和 ResultSets

java - 如何真正将 JFrame 中的对象居中?

java - 限制类属性大小

Java在本地读取测试源文件,但在Bamboo服务器上读取失败

sql - 查询 Db 中具有特定数据类型的所有主键