ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB问题

问题:

在应用使用 oracle.sql.BLOB的情况下: BLOB blob = (BLOB) rs.getBlob("img"); 数据源配置时未将ojdbc.jar放在TongWeb的lib目录下,而且在数据源配置时指定了存放在其它目录的ojdbc.jar。

若应用lib下无ojdbc.jar,则报错找不到类:

bash 复制代码
java.lang.ClassNotFoundException: oracle.sql.BLOB
	at com.tongweb.tomee.catalina.ThanosTomEEWebappClassLoader$1.loadClass(ThanosTomEEWebappClassLoader.java:98)
	at com.tongweb.common.LoadClassCache.cacheLoadClass(LoadClassCache.java:63)
	at com.tongweb.tomee.catalina.ThanosTomEEWebappClassLoader.loadClass(ThanosTomEEWebappClassLoader.java:80)

若应用lib下有ojdbc.jar,则报错类转化异常:

bash 复制代码
java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB]
	at com.tong.Test.testDB(Test.java:81)]
	at com.tong.Test.doGet(Test.java:45)]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)]

解决办法:

通过在数据源配置时指定的ojdbc.jar路径应用是加载不到的,若应用中也含有ojdbc.jar,因为是在两个不同的类加载路径,所以会有类转化异常。

解决办法是把ojdbc.jar放在TongWeb的lib下数据源与应用共用同一类路径上的ojdbc.jar。

相关推荐
闲猫2 小时前
LangChain / Integrations / Integrations by component / Tool
java·数据库·langchain
xqqxqxxq2 小时前
SQL 连接查询技术笔记
数据库·笔记·sql
Databend2 小时前
从万亿级大模型到全线应用:Databend Cloud 助力头部 AI 企业构建全链路 Trace 数据管道
大数据·数据库·sql
MC皮蛋侠客3 小时前
SQLAlchemy 系列(十一):从 1.x 到 2.x——渐进迁移与数据访问层治理
数据库·python
1001101_QIA3 小时前
工控机网络配置
开发语言·数据库·php
ClouGence3 小时前
加一张临时表,OceanBase Oracle 写入居然快了 30 倍!
数据库·sql·oracle
tju23333 小时前
信创产业二十年:国产基础软件走到哪一步了?
数据库·gitee
东方护航数据恢复(深圳)4 小时前
RAID5单盘故障后阵列状态分析与重建风险评估_东方护航数据恢复深圳店
大数据·数据库
会编程的土豆4 小时前
GORM 常见操作从入门到能写 DAO
数据库·gorm