Java 无法获取Oracle连接

Java 无法获取Oracle连接,java,oracle,jdbc,jdbc-odbc,ojdbc,Java,Oracle,Jdbc,Jdbc Odbc,Ojdbc,无法获取Oracle连接 我使用以下代码在自定义智能服务插件中获得oracle连接:- public static Connection openNewConnection(String url, String username, String password) throws ClassNotFoundException, SQLException { DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

无法获取Oracle连接

我使用以下代码在自定义智能服务插件中获得oracle连接:-

public static Connection openNewConnection(String url, String username, String password) throws ClassNotFoundException, SQLException {

    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    Connection connection = DriverManager.getConnection(url, username, password);
    return connection;
}
作为一个独立软件,它工作得非常好,但是当在JBoss中使用时,它会给出带有以下消息的
“ClassCastExcepton”
:-

ClassCastException:“无法强制转换oracle.jdbc.driver.T4C连接 到oracle.jdbc.OracleConnection”

我分别将其用于
ojdbc5.jar
ojdbc6.jar
ojdbc7.jar
ojdbc14.jar
文件


有关于这个问题的线索吗?

根据“显示名称缺失”的回答,ojdbcN.jar会导致冲突,您必须通过重新正确引用来解决。

根据“显示名称缺失”的回答,ojdbcN.jar会导致冲突,您必须通过重新正确引用来解决。

oracle.jdbc.driver.T4CConnection
扩展类
oracle.jdbc.driver.PhysicalConnection
,该类反过来实现接口
oracle.jdbc.OracleConnection
。因此,演员阵容似乎应该会成功

原因可能只是类加载器的问题,即有两个jar文件涉及相同的类,或者更具体地说:ojdbcN.jar在类路径上出现了两次,很可能是在JBoss安装的.ear/.war文件中。由于源类和目标类以及接口位于两个不同的jar文件中,所以强制转换失败


修复类路径。对于JBoss,
ojdbc7.jar
需要进入共享的JBoss目录,并且不能包含在.war或.ear文件中。

oracle.jdbc.driver.T4CConnection
扩展类
oracle.jdbc.driver.PhysicalConnection
,该类反过来实现接口
oracle.jdbc.OracleConnection
。因此,演员阵容似乎应该会成功

原因可能只是类加载器的问题,即有两个jar文件涉及相同的类,或者更具体地说:ojdbcN.jar在类路径上出现了两次,很可能是在JBoss安装的.ear/.war文件中。由于源类和目标类以及接口位于两个不同的jar文件中,所以强制转换失败

修复类路径。对于JBoss,
ojdbc7.jar
需要进入共享的JBoss目录,并且不能包含在.war或.ear文件中。

这可能会对您有所帮助!这可能对你有帮助!