oracle.jdbc.driver.T4CConnection无法强制转换为oracle.jdbc.OracleConnection

use*_*576 4 jdbc-odbc jboss6.x

WrappedConnectionJDK6 wrapped = (WrappedConnectionJDK6) dbStrategy.getConnection();
            Connection underlyingConn = wrapped.getUnderlyingConnection();
            OracleConnection oracleConn = (OracleConnection)underlyingConn;
Run Code Online (Sandbox Code Playgroud)

最后一行给出错误 -

> ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/web].[resteasy-servlet]]
> (http-/0.0.0.0:8080-1) Servlet.service() for servlet resteasy-servlet
> threw exception: org.jboss.resteasy.spi.UnhandledException:
> java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection cannot
> be cast to oracle.jdbc.OracleConnection
Run Code Online (Sandbox Code Playgroud)

Gab*_*ica 5

AFAIK T4CConnection应该实现oracle.jdbc.OracleConnection.恕我直言你有2个驱动程序实现,一个在app服务器上,一个在你的项目依赖项中,必须有一个类加载问题,因为检索到的驱动程序实现是由共享类加载器加载的,你试图将它转换为webApp加载的类类加载器.

您可以确保您的Web应用程序依赖项与服务器提供的实现相同,或者只是在打包时从Web应用程序中排除依赖项.

如果你正在使用maven,只需将范围设置为provided.