2010-08-07 86 views
0

喜的朋友我對着下面的錯誤,而試圖通過Java代碼來連接到數據庫:獲得類未發現異常

Exception in thread "Main Thread" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:169) 
at com.example.model.Driver.main(Driver.java:13) 

我的Java代碼:

package com.example.model; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class Driver { 
    public static void main(String args[]) throws ClassNotFoundException, 
    SQLException { 

     Class.forName("oracle.jdbc.OracleDriver"); 
     // or you can use: 
     // DriverManager.registerDriver(
     // new oracle.jdbc.driver.OracleDriver()); 
     Connection conn = DriverManager.getConnection(
     "jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger"); 

     Statement stmt = conn.createStatement(); 
     ResultSet rset = stmt.executeQuery("select * from customer"); 
     while (rset.next()) 
      System.out.println(rset.getString(1)); 
     rset.close(); 
     stmt.close(); 
     conn.close(); 
    } 
} 

按我來了要知道這可能是由於課程路徑問題,但不知道如何解決它。 設置我的類路徑

C:\bea\user_project\workspace\wlserver_10.3\server\ext\jdbc\oracle\11g\ojdbc5.jar; 

我使用WebLogic 10.3的工作區和weblogic 10.3服務器。

+0

你的代碼是不可讀的。請正確縮進(4個空格將其標記爲代碼)。 – 2010-08-07 16:12:11

回答

1

我會盡量把它的WebLogic的lib文件夾...並重新啓動服務器,那麼你一定會認爲這是一個classpath的問題...

您應該從Oracle下載Oracle驅動程序和把.jar文件在項目的CLASSPATH ...

您可以在Oracle's drivers download page

+0

似乎OP不在WebLogic內部運行(實際上,WebLogic已經在'$ WL_HOME/server/lib'中有一個oracle驅動程序) – 2010-08-07 16:53:19

+0

[試過這個, 希望這會有所幫助](http://stackoverflow.com /問題/ 7631758 /如何連接型-SQL服務器使用-JTDS - 駕駛員參與的Android/13512108#13512108)! – smkrn110 2013-07-16 06:09:09

2

java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver下載它肯定意味着所提到的類不是在類路徑上。因爲ojdbc5.jar有它,所以整個問題是:「你是如何設置你的類路徑」?

下面是我在我的機器上得到使用的代碼(使用默認包):

 
$ cat > Driver.java 
... 
$ javac Driver.java 
$ java -cp /home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc5.jar:. Driver 
Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection 
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) 
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413) 
    at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508) 
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510) 
    at java.sql.DriverManager.getConnection(DriverManager.java:582) 
    at java.sql.DriverManager.getConnection(DriverManager.java:185) 
    at Driver.main(Driver.java:15) 
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328) 
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421) 
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634) 
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208) 
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292) 
    ... 7 more 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
    at java.net.Socket.connect(Socket.java:478) 
    at java.net.Socket.(Socket.java:375) 
    at java.net.Socket.(Socket.java:189) 
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127) 
    at oracle.net.nt.ConnOption.connect(ConnOption.java:126) 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:306) 
    ... 12 more 

司機被發現(我得到一個例外,因爲我沒有運行任何Oracle服務器,但是這是另一個故事)。