我正在尝试开发连接到Oracle数据库的Java EE应用程序。
我正在使用ojdbc6 jar。我正在从属性文件中读取数据库信息。

package com.varun.util;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import com.arjuna.ats.internal.arjuna.recovery.Connection;

public class DbUtil {

    private static Connection connection = null;
    public static Connection getConnection(){
        if(connection!=null)
        {
            return connection;
        }
        else
        {
            try{

                Properties prop=new Properties();
                InputStream inputStream=DbUtil.class.getClassLoader().getResourceAsStream("/db.properties");
                prop.load(inputStream);
                String driver =  prop.getProperty("driver");
                String url = prop.getProperty("url");
                String user = prop.getProperty("user");
                String password = prop.getProperty("password");
                Class.forName(driver);
                connection = (Connection) DriverManager.getConnection(url, user, password);

            }catch(ClassNotFoundException e)
            {
                 e.printStackTrace();
            }
            catch (SQLException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return connection;
        }
    }

}


我正在说一个例外:


  java.lang.ClassCastException:oracle.jdbc.driver.T4CConnection无法
  强制转换为com.arjuna.ats.internal.arjuna.recovery.Connection


我没有找到根本原因。我也更改了jar文件,但是仍然抛出相同的错误。

最佳答案

我认为问题与您的导入有关,请检查代码中是否包含此导入:

import com.arjuna.ats.internal.arjuna.recovery.Connection;


它应该是 :

import java.sql.Connection;


看看This tutorial

关于java - java.lang.ClassCastException:oracle.jdbc.driver.T4CConnection无法转换为com.arjuna.ats.internal.arjuna.recovery.Connection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30215850/

10-10 17:32