java.lang.ClassCastException错误

时间:2014-12-11 21:08:51

标签: java oracle jdbc

您好我正在使用Eclipse练习Java oracle数据库连接。

以下是我的代码:

package connection;

import java.sql.* ;  // for standard JDBC programs
import java.math.* ; //

public class Connection {

    public static void main(String[] args) throws SQLException {
        try {
               Class.forName("oracle.jdbc.driver.OracleDriver");
            }
            catch(ClassNotFoundException ex) {
               System.out.println("Error: unable to load driver class!");
               System.exit(1);
            }

        String URL = "jdbc:oracle:thin:C##AVIVI/avivi9694@localhost:1521:oracleavivi";
        Connection conn = (Connection) DriverManager.getConnection(URL);

以下是“错误”:

Exception in thread "main" java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection cannot be cast to connection.Connection
    at connection.Connection.main(Connection.java:18)

我将“jre7” - “lib”文件夹中的所有“jar”文件导入到我的项目中(我是新手,所以不太确定我需要哪个jar所以我全部导入它们,不知道是否这个会影响连接吗?

2 个答案:

答案 0 :(得分:2)

Connection不明确(对你而言,不适用于编译器),因为这是 main 类的名称:

     Connection conn = (Connection) DriverManager.getConnection(URL);
     //^^^^^^^^         ^^^^^^^^^^
     //   connection.Connection, not java.sql.Connection

重命名您的类,或使用完全限定的接口名称:

     java.sql.Connection conn = DriverManager.getConnection(URL);

答案 1 :(得分:0)

将您的班级重命名为例如MyFirstOracleTest(通过重构 - >重命名在eclipse中完成)