2012-06-18 240 views
2

這個Java代碼編譯好,但是當我嘗試運行它,我得到:在線程「主要」拋出java.lang.ClassNotFoundException使用Java連接到Oracle數據庫

例外: oracle.jdbc。 driver.OracleDriver

這裏是我的代碼:

import java.sql.*; 

public class TestConnection { 

    public static void main(String[] args) throws Exception { 
     //connect to database 
     Class.forName("oracle.jdbc.driver.OracleDriver"); 
     String serverName = "000.000.000.000"; 
     String portNumber = "1521"; 
     String sid = "abcd"; 
     String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid; 
     String username = "user"; 
     String password = "pass"; 
     Connection conn = DriverManager.getConnection(url, username, password); 
    } 
} 

我如何得到這個工作?我正在使用Ubuntu 11.04和JDK 6.

謝謝!

+3

您需要下載Oracle JDBC驅動程序,並把它放在你的classpath。 – Alex

+0

你有合適的jar文件嗎? –

回答

8

您需要Oracle jar。

你可以從here得到它們。

+1

您可能想從該鏈接抓取ojdbc6.jar。 – Windle

+0

它說: ojdbc6.jar(2,714,189字節) - 用於JDK 1.6的類。 但我有JDK 6? – torjinx

+0

啊我看,他們是一樣的:http://www.oracle.com/technetwork/java/javase/version-6-141920.html – torjinx

1

另外,您必須將這些罐子添加到您的項目中。 @Netbeans,您可以輕鬆地在項目屬性

3

添加ojdbcXX.jar -where XX是版本號 - 爲您的項目的Java構建路徑。除類路徑問題外,不建議使用「oracle.jdbc.driver.OracleDriver」請求。很長一段時間推薦使用:「oracle.jdbc.OracleDriver」。對於一些更新的驅動程序版本,前者甚至不會工作。

+0

爲什麼那個jar?我在哪裏可以得到它? – torjinx

+0

哦,不,不好意思,你會使用ojdbc6.jar,因爲這是用於java 6的。(1.6與java的6個命名約定相同)。我引用的是java 1.4! –

5

如果你使用的是Maven:

<dependency> 
    <groupId>com.oracle</groupId> 
    <artifactId>ojdbc6</artifactId> 
    <version>11.2.0</version> 
</dependency> 
+0

它仍然存在於mvn回購? –

+0

現在不公開。我必須先在Oracle Maven資源庫中進行註冊。 更多的信息在這裏:[鏈接](https://docs.oracle.com/middleware/1213/core/MAVEN/config_maven_repo.htm#MAVEN9010) –