java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection 无法转换为 com.arjuna.ats.internal.arjuna.recovery.Connection
java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection cannot be cast to com.arjuna.ats.internal.arjuna.recovery.Connection
我正在尝试开发一个连接到 Oracle 数据库的 Java EE 应用程序。
我正在使用 ojdbc6 罐子。我正在从 属性 文件中读取数据库信息。
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 cannot
be cast to com.arjuna.ats.internal.arjuna.recovery.Connection
我没有找到根本原因。我也更改了 jar 文件,但它仍然抛出相同的错误。
修复 Connection
的导入问题。不能是 com.arjuna.ats.internal.arjuna.recovery.Connection
.
DriverManager.getConnection(url, user, password)
returns 'oracle.jdbc.driver.T4CConnection' 的实例,而您正试图将其转换为 'com.arjuna.ats.internal.arjuna.recovery.Connection'。这就是您出错的原因。
我认为问题出在您的导入上,请检查您的代码中是否有此导入:
import com.arjuna.ats.internal.arjuna.recovery.Connection;
应该是:
import java.sql.Connection;
尝试从
更改导入
import com.arjuna.ats.internal.arjuna.recovery.Connection;
至
import java.sql.Connection;
导入有问题。
use java.sql.Connection.
问题已解决。
我正在尝试开发一个连接到 Oracle 数据库的 Java EE 应用程序。 我正在使用 ojdbc6 罐子。我正在从 属性 文件中读取数据库信息。
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 cannot be cast to com.arjuna.ats.internal.arjuna.recovery.Connection
我没有找到根本原因。我也更改了 jar 文件,但它仍然抛出相同的错误。
修复 Connection
的导入问题。不能是 com.arjuna.ats.internal.arjuna.recovery.Connection
.
DriverManager.getConnection(url, user, password)
returns 'oracle.jdbc.driver.T4CConnection' 的实例,而您正试图将其转换为 'com.arjuna.ats.internal.arjuna.recovery.Connection'。这就是您出错的原因。
我认为问题出在您的导入上,请检查您的代码中是否有此导入:
import com.arjuna.ats.internal.arjuna.recovery.Connection;
应该是:
import java.sql.Connection;
尝试从
更改导入import com.arjuna.ats.internal.arjuna.recovery.Connection;
至
import java.sql.Connection;
导入有问题。
use java.sql.Connection.
问题已解决。