阿里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使用总结
105 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
|
SQL 监控 druid
Druid数据库连接池使用体验
这是一篇笔者关于Druid数据库连接池的使用体验,干货满满。
804 0
Druid数据库连接池使用体验
|
XML 监控 druid
druid连接池的使用
druid连接池的使用
314 0
druid连接池的使用