oracle的class12驱动没有实现jdbc对clob或blob的存储, 解决办法
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,在使用原生jdbc做保存大字段clob或者是blob时, 发生异常:ERROR [pool-12-thread-1] PartitionConsumerThread.run(128) | java.l
千家信息网最后更新 2026年10月31日oracle的class12驱动没有实现jdbc对clob或blob的存储, 解决办法
在使用原生jdbc做保存大字段clob或者是blob时, 发生异常:
ERROR [pool-12-thread-1] PartitionConsumerThread.run(128) | java.lang.AbstractMethodError: Method oraclebc/driver/T4CPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V is abstract
分析原因:
- 异常是说T4CPreparedStatement这个类调用的是一个抽象的方法,意思是它本身没有对jdbc的setCharacterStream进行实现。
- 我们框架用的数据库驱动用的是oracle.sql.class12, 存储大字段发生异常之后, 我去看了T4CPreparedStatement的源码, 他继承了OraclePreparedStatement, OraclePreparedStatement中有setCharacterStream, setClob, setBlob方法的实现, 但是与jdbc的setCharacterStream,setClob, setBlob方法的参数类型是不一样的,可以去看一下源码就懂了, 意思就是, OraclePreparedStatement或者T4CPreparedStatement都没有实现jdbc的setCharacterStream,setClob, setBlob方法, 只是继承了抽象的方法, 因此我们在调用时才会报前面的异常,
- 解决办法: 更换oracle驱动, 之后我把驱动换为了odjbc6, 同样去看了源码, 发现OraclePreparedStatement有对jdbc的PrepareStatement处理大字段方法的实现, 完美解决问题;
方法
驱动
字段
源码
意思
办法
存储
原因
参数
只是
就是
数据
数据库
框架
类型
问题
会报
分析
处理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
金融科技还是互联网
互联网科技卖菜
互联网科技公司官网
极限挑战互联网科技
互联网科技的未来发展
海南科技产业互联网平台
福州新华互联网科技学校 知乎
以后互联网后是啥科技
互联网科技革命什么开始
玉溪互联网科技怎么选
迪庆互联网科技招生
互联网行业科技股
工业互联网等科技实现智能化赋能
互联网金融科技公司的优势
中国互联网有什么科技
江苏互联网科技小贷
信承诺互联网科技有限公司
青岛互联网科技园
银川新华互联网科技学校招聘
咖啡豆
精品咖啡豆
广州百单互联网科技有限公司
国智互联网科技
互联网科技有限公司 翻译
消费医药和互联网科技
华中科技大学互联网的牛人
科技互联网海报
黑云互联网科技有限公司
株洲百竞科技的互联网营销顾问