【问题标题】:Java JDBC Connection ClassNotFoundException ErrorJava JDBC 连接 ClassNotFoundException 错误
【发布时间】:2012-06-23 02:02:14
【问题描述】:

我是 java 初学者,在连接 JDBC 连接时遇到问题 运行代码时出现“java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver”错误。这是我的源代码


 import java.sql.*;
    public class Connect 
    {
        public static void main(String[] args) 
        {
            try
            {
                Class.forName("oracle.jdbc.OracleDriver");
                System.out.println("Drivers Loaded");
                Connection con = DriverManager.getConnection("jdbc:oracle:thin:SYSTEM/rambabu@localhost:8081:XE");
                System.out.println("Connection established");
                con.close();
            }
            catch(Exception e)
                {
                    System.out.println(e);
                }
    }
}

【问题讨论】:

    标签: java


    【解决方案1】:

    您的类路径中需要 Oracle JDBC 驱动程序。

    如果没有,可以从http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html下载

    【讨论】:

    • 这是我的环境变量中的 CLASSPATH。
    • C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar;C:\oraclexe\app\oracle\product\10.2.0\server\jdbc \lib\ojdbc14.jar;我应该进一步编辑吗?
    • 没有变化,但是我通过配置构建路径通过eclipse添加了驱动程序。出现一个新错误,提示“选择不包含主要类型”。
    • 谢谢你。解决了选择错误问题。但是,“java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver”又出现了
    • 是的,明白了。我想我很接近。驱动程序已加载,但连接未建立。它给出了一个 SQLEXception 错误,上面写着“java.sql.SQLException:Io 异常:从读取调用中得到减一”
    【解决方案2】:

    您只需要将 Oracle 驱动程序 jar 文件放在您的类路径中。例如:

    java -cp oracle.jar Connect
    

    (我不知道这个jar文件叫什么,但想必你有一个......)

    【讨论】:

      【解决方案3】:

      试试这个方法......

      public class DataBaseClass {
      
          Connection conn;
      
          public void receivedConnection() {
      
      
      
              try {
                  conn = getConnection();
                  System.out.println("I GOT THE CONNECTION");
      
      
      
              } catch (SQLException e) {
      
                  System.out.println("I DID NOT GET THE CONNECTION");
                  e.printStackTrace();
              }
      
              try {
      
                  Statement stat = conn.createStatement();
                  stat.executeUpdate("DROP TABLE VIVEK_DA_TABLE");
              } catch (SQLException e) {
                  System.out.println("Table didnt exist");
                  //e.printStackTrace();
              }
      
          }
      
      
          public static Connection getConnection() throws SQLException{
      
              String drivers = "com.mysql.jdbc.Driver";
              String url    = "jdbc:mysql://localhost:3306/test";
              String username = "root";
              String password = "vicky";
      
              System.setProperty(drivers,"");
              return DriverManager.getConnection(url,username,password);
      
          }
      
          public static void main(String[] args) throws SQLException{
      
              DataBaseClass db = new DataBaseClass();
              db.receivedConnection();
          }
      
      }
      

      【讨论】:

        【解决方案4】:

        可能是包含 jdbc 驱动程序的 .jar 文件不在“引用的库”中。如果您在 Eclipse 中开发,您只需右键单击项目 > 构建路径 > 配置构建路径 > 库选项卡 > 添加外部 jars > 找到并添加您的 jdbc 驱动程序版本。

        希望对你有帮助。

        【讨论】:

        • 是的,我添加了 jar 文件。但是在我构建项目时出现了一个新错误(上面给出的源代码)。错误提示“选择不包含主要类型”。源码有问题吗?
        【解决方案5】:

        我认为你必须设置`oracle的类路径
        Setting the class path
        或者干脆调用..
        在 unix 中

        java -cp .:oracle.jar Connect 
        

        在窗口中

        java -cp .;oracle.jar Connect 
        

        冒号/分号分隔两条路径。这 。是你所在的目录(希望是类或基础包),后一个 jar 是驱动程序

        【讨论】:

          【解决方案6】:

          在项目菜单中,右键单击库文件夹,选择添加jar/文件夹,然后选择ojdbc jar,它将被添加到项目库中,您应该可以使用驱动程序了。

          尝试以下简单的方法来测试连接

          Connection conn = null;
          try{
            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            conn = DriverManager.getConnection("dburl","username", "password");
            if(conn != null){
              System.out.println("Connection to Phoenix unsuccessful");
            }else{
              System.out.println("Connection to Phoenix successful");
            }
          
          }catch(SQLException e){
            System.out.println("Exception creating DB connection: " + e);
            for(StackTraceElement ste : e.getStackTrace())
              System.out.println(ste.toString());
          }
          

          【讨论】:

            猜你喜欢
            • 2014-06-20
            • 2015-09-05
            • 2014-07-01
            • 2014-09-09
            • 1970-01-01
            • 2015-06-12
            • 1970-01-01
            • 2019-10-01
            • 1970-01-01
            相关资源
            最近更新 更多