2012-06-22 175 views
2

我是java中的初學者,並且在連接JDBC連接時遇到問題 運行代碼時出現「java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver」錯誤。這裏是我的源代碼Java JDBC連接ClassNotFoundException錯誤


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/[email protected]:8081:XE"); 
       System.out.println("Connection established"); 
       con.close(); 
      } 
      catch(Exception e) 
       { 
        System.out.println(e); 
       } 
    } 
} 

回答

2

你只需要把Oracle驅動程序jar文件在類路徑中。例如:

java -cp oracle.jar Connect 

(我不知道是什麼的jar文件叫了手,但想必你有一個......)

3

您將需要Oracle JDBC驅動程序在類路徑中。

如果你沒有它,你可以從http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

+0

下面是從我的環境變量CLASSPATH我。 –

+0

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;我應該進一步編輯嗎? –

+0

是的,我沒有手動輸入。 –

0

下載試試吧這樣....

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(); 
    } 

} 
0

這可能是包含JDBC驅動程序中的.jar文件不在「引用的庫」中。如果您在Eclipse中開發,則可以右鍵單擊項目>構建路徑>配置構建路徑>庫選項卡>添加外部容器>查找並添加您的jdbc驅動程序版本。

希望它有幫助。

+0

是的,我添加了jar文件。但是當我構建項目時(上面給出的源代碼),會出現新的錯誤。錯誤顯示「選擇不包含主要類型」。源代碼中是否有任何問題? –

0

我認爲你必須設置甲骨文
Setting the class path
或簡單地調用`類路徑..
在UNIX

java -cp .:oracle.jar Connect 

在Windows

java -cp .;oracle.jar Connect 

的冒號/分號分隔兩個路徑。這個。是你所在的目錄(希望是類或基礎包),後者的jar是驅動程序

+0

是的謝謝@Alexander .. :) –

0

在項目菜單中,右鍵單擊庫文件夾,選擇添加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()); 
}