oracle的class12驱动没有实现jdbc对clob或blob的存储, 解决办法
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,在使用原生jdbc做保存大字段clob或者是blob时, 发生异常:ERROR [pool-12-thread-1] PartitionConsumerThread.run(128) | java.l
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
无法无服务器建立安全连接
软件开发公司哪些比较好
智能化施工的网络安全
服务器清尘报告
邯郸互联网软件开发多少钱
数据库插入不了文字
揭阳通讯软件开发回收价
人民银行网络安全宣传
嘶吼网络安全峰会
服务器端口关闭端口
微软开发的数据库软件
ADT下载软件开发
网络安全课程设计方案
滨州设备配件工具软件开发公司
2020江苏博雅数据库投档线
网络技术最好的学校
小学网络技术教案
sap软件开发部署
1u服务器多少钱
上虞财务软件开发选哪家
合肥电动汽车热管理软件开发公司
linux服务器安全方案
数据库中关系的除法
到美国读网络安全硕士好吗
关于网络安全的案据
微软sql服务器能禁用吗
检测实验室管理系统软件开发
阿里云服务器测试工程师
mysql数据库大小计算
电脑微信id数据库