应用版本:JBoss 7.0.0、Oracle 11g(ojdbc6.jar)和JDK 6版本
当我尝试使用 CLOB.createTemporary
函数插入 CLOB 数据类型的值时遇到问题,出现以下异常。
java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast to oracle.jdbc.OracleConnection
在多个论坛中搜索后,没有找到任何解决方案。 https://forums.oracle.com/forums/thread.jspa?threadID=279238
部署 WAR 文件和配置 JBoss oracle 驱动程序池配置所需的基本步骤已完成。但是,还是没能解决这个问题。
请提供解决此问题的解决方案。
最佳答案
我已经用下面的方法解决了我的问题。
总结:类加载器不应从服务器库/模块和网络存档(WAR 文件)中加载 Oracle 驱动程序。仅在服务器库(JBoss 7 版本)中保留 oracle 驱动程序。
JBoss 7:
创建了一个新的 JBoss 部署描述 rune 件 (jboss-deployment-structure.xml)
- 更新了jboss部署结构文件中的(ironjacamar-jdbc-1.0.3.Final.jar)iron模块
- 创建 ojdbc6.jar 作为 JBoss 7 结构中的模块 更新了jboss部署结构文件中的objbc模块
例子:
<jboss-deployment-structure> <deployment> <dependencies> <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/> <module name="com.oracle.ojdbc6" slot="main"/> </dependencies> </deployment> </jboss-deployment-structure>
网络模块: - 从网络存档(WAR 文件)中删除了 ojdbc6.jar 文件
如果您在解决过程中发现任何问题,请告诉我。
关于java.lang.ClassCastException : org. jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 无法转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247702/