阿里Druid连接池的坑。。

简介: Druid的坑当查询数据库的Clob转换为Oracle Clob类型的时候。

Druid的坑

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

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

问题原因

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


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


解决方案

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

public class ClobUtil {
    public static CLOB parseOracleClob(Clob clob) {
        SerializableClob sclob = (SerializableClob) clob;
        Clob wrappedClob = sclob.getWrappedClob();
        // 解决Druid的坑
        if (wrappedClob instanceof ClobProxy) {
            ClobProxy clobProxy = (ClobProxy) wrappedClob;
            wrappedClob = clobProxy.getRawClob();
        }
        return (CLOB) wrappedClob;
    }
}
相关文章
|
druid 数据库
数据库连接池——Druid
数据库连接池——Druid 一、好处 更方便地获取连接对象,效率高 资源可以更好的重复利用
|
druid Java 数据库连接
数据库连接池及Druid使用步骤
数据库连接池及Druid使用步骤
1507 2
|
SQL 监控 druid
Druid连接池学习
Druid学习笔记,使用Druid进行密码加密。参考文档:https://github.com/alibaba/druid
1110 84
|
监控 druid Java
干掉Druid?揭秘HikariCP为何如此迅猛
【8月更文挑战第18天】在Java应用开发中,数据库连接池作为提升数据库访问性能的关键组件,其重要性不言而喻。长期以来,Druid以其强大的监控、扩展性和稳定性,在业界赢得了广泛的认可与应用。然而,近年来,一个名为HikariCP的轻量级连接池逐渐崭露头角,以其惊人的速度和低资源消耗,挑战着Druid的霸主地位。今天,我们就来深入探讨,HikariCP为何能够如此迅速地“干掉”传统连接池,成为新的性能标杆。
586 4
|
10月前
|
Java API 开发者
深入理解Java中的异常处理机制
本文探讨了Java编程语言中异常处理的核心概念,包括异常类型、异常捕获与抛出、以及最佳实践。通过分析常见的异常场景和处理策略,旨在帮助开发者更好地理解和运用异常处理机制,提高代码的健壮性和可维护性。文章不仅涵盖了基本的try-catch结构,还深入讨论了自定义异常的创建与使用,以及finally块的重要性和应用。此外,还将介绍一些高级技巧,如多异常捕获和嵌套异常处理,为读者提供全面的技术指导。
238 0
|
JavaScript Serverless Linux
函数计算产品使用问题之遇到Node.js环境下的请求日志没有正常输出时,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
12月前
|
SQL 存储 数据库
慢SQL对数据库写入性能的影响及优化策略
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生不利影响
|
druid Java 关系型数据库
Spring Boot 学习研究笔记(二十一) Springboot中druid数据库连接池使用
Spring Boot 学习研究笔记(二十一) Springboot中druid数据库连接池使用
988 0
|
SQL 监控 druid
Druid连接池
Druid连接池
668 0
|
存储 Kubernetes 关系型数据库
KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)
KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)
1082 0