阿里Druid连接池的坑。。

简介: ​Druid的坑当查询数据库的Clob转换为Oracle Clob类型的时候。java.lang.ClassCastException:com.alibaba.druid.proxy.jdbc.ClobProxyImplcannot be cast to oracle.sql.CLOB问题原因ClobProxyImpl不能转换为Oracle的Clob字段,这也是醉了。


Druid的坑

当查询数据库的Clob转换为Oracle Clob类型的时候。

java.lang.ClassCastException:com.alibaba.druid.proxy.jdbc.ClobProxyImplcannot be cast to oracle.sql.CLOB

问题原因

ClobProxyImpl不能转换为Oracle的Clob字段,这也是醉了。

原因是Druid为Clob字段增加了代理类:com.alibaba.druid.proxy.jdbc.ClobProxyImpl,然后代码里面强制转换成Oracle的Clob就出现了这个问题。

解决方案

现在的解决方案是先转换为Druid的代理类ClobProxy对象,然后获取原生的Oracle Clob字段内容即可。

publicclassClobUtil{

publicstaticCLOB parseOracleClob(Clobclob){

SerializableClobsclob=(SerializableClob)clob;

ClobwrappedClob=sclob.getWrappedClob();

// 解决Druid的坑

if(wrappedClobinstanceofClobProxy){

ClobProxyclobProxy=(ClobProxy)wrappedClob;

wrappedClob=clobProxy.getRawClob();

}

return(CLOB)wrappedClob;

}

}

相关文章
|
8月前
|
druid 数据库
数据库连接池——Druid
数据库连接池——Druid 一、好处 更方便地获取连接对象,效率高 资源可以更好的重复利用
|
Oracle druid 关系型数据库
阿里Druid连接池的坑。。
Druid的坑 当查询数据库的Clob转换为Oracle Clob类型的时候。
483 0
|
SQL Prometheus 监控
数据库连接池选型 Druid vs HikariCP
springboot 现在官方默认的数据库连接池是 HikariCP,HikariCP的性能从测试的数据上来看也是最高的。
数据库连接池选型 Druid vs HikariCP
|
5月前
|
SQL 缓存 druid
数据库连接池Druid使用总结
数据库连接池Druid使用总结
104 0
|
10月前
|
SQL 监控 druid
Druid连接池
Druid连接池
368 0
|
druid Java 数据库
数据库连接池 druid
数据库连接池 druid
293 0
数据库连接池 druid
|
druid Java 数据库连接
数据库连接池入门(c3p0、Druid)
数据库连接池入门(c3p0、Druid)
218 1
|
druid 数据库
springcloud 整合 druid 阿里的数据库连接池
springcloud 整合 druid 阿里的数据库连接池
274 0
|
XML 监控 druid
druid连接池的使用
druid连接池的使用
314 0
druid连接池的使用
|
SQL 监控 druid
Druid数据库连接池的详细解析!分析说明数据库连接池Druid的参数配置和基本架构
本篇文章中介绍了数据库连接池Alibaba Druid的组成部分以及Druid的作用和基本配置。详细说明了Druid的基本架构,分别介绍了Druid中的实时节点,历史节点,查询节点,协调节点以及索引服务。通过本篇文章的学习,可以对数据库连接池Druid的参数配置和基本架构有清楚的认识。
1238 34
Druid数据库连接池的详细解析!分析说明数据库连接池Druid的参数配置和基本架构