oracle的class12驱动没有实现jdbc对clob或blob的存储, 解决办法
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,在使用原生jdbc做保存大字段clob或者是blob时, 发生异常:ERROR [pool-12-thread-1] PartitionConsumerThread.run(128) | java.l
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
深圳市江汉网络技术
为保证数据库信息
腾讯网络安全大师
数据库表和表的连接方式
谷歌服务器未连接
广州社交软件开发
微信服务器繁忙
计算机网络技术是师范类吗
steam阿根廷区服务器
神经网络技术股票
软件开发者设备
能源互联网的核心科技
达芬奇系统数据库
数据库安全带第一道保障
网络安全测试工作好学吗
手机查询服务器
承德祥龙网络技术服务有限公司
日本国产网络技术
2021万方数据库撤稿
网络安全管理围绕什么意思
如何让预防网络安全问题
免流服务器搭建
视频字幕软件开发
基层涉密网络安全
第七史诗哪个服务器是中文
重庆项目软件开发价格
深圳青研网络技术有限公司
广东浪潮服务器续保维护
怎么判断服务器能上外网
承德祥龙网络技术服务有限公司