有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

甲骨文java。lang.ClassCastException错误

嗨,我正在用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)

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


共 (2) 个答案

  1. # 1 楼答案

    将类重命名为例如MyFirstOracleTest(在eclipse中通过重构完成->;重命名)

  2. # 2 楼答案

    Connection在这里是不明确的(对于您,而不是编译器),因为这是main类的名称:

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

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

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