阿里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;
    }
}
相关文章
|
JSON 小程序 Java
微信公众平台测试号——模板消息发送Demo
微信公众平台测试号——模板消息发送Demo
2512 0
|
druid Java 数据库连接
数据库连接池及Druid使用步骤
数据库连接池及Druid使用步骤
2031 2
|
9月前
|
安全 Java API
一文吃透:若依框架静态资源防盗链从原理到代码
若依(RuoYi)框架的防盗链功能实现方式,我会从核心原理、代码实现、配置方式、关键细节四个维度拆解,兼顾原理理解和实操落地,适配若依单体版(RuoYi-Vue)和微服务版(RuoYi-Cloud)的通用逻辑
532 3
|
SQL 监控 druid
Druid连接池学习
Druid学习笔记,使用Druid进行密码加密。参考文档:https://github.com/alibaba/druid
2285 84
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
12101 1
|
前端开发 Java 应用服务中间件
若依分离板nginx配置
若依分离板nginx配置
2147 1
|
SQL 监控 druid
Druid连接池
Druid连接池
941 0
|
数据库 Java 数据格式
DTS-073602 数据转换错误
   DTS抽取各类型数据库的增量日志时遵循的基本原则就是保持数据的原始性,而下游消费增量数据的增量迁移/同步会首先将数据进行归一化处理(即将增量数据转换成DTS的内部统一数据格式)以方便灵活的支持异构数据库之间的迁移.
1962 0
|
5天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
2495 17

热门文章

最新文章