2017-03-07 151 views
0

我在使用java和jdbc時遇到了一些麻煩。 特別是,雖然我的代碼完全在NetBeans項目的工作,當我嘗試執行它的終端或在我的Ubuntu VPS(這是我需要它的工作),我總是得到這個異常:無法連接到MySQL數據庫:找不到合適的驅動程序

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/quakes

首先要做的是:我將jdbc .jar添加到執行命令和編譯命令中;是的,我甚至嘗試添加

Class.forName("com.mysql.jdbc.Driver");

,但我總是得到ClassNotFoundException: com.mysql.jdbc.Driver例外 我使用的.jar是完全一樣的,我在NetBeans項目中使用,所以我知道我有正確的事情,甚至從官方網站下載它不會改變一件事情。 是的,數據庫存在,如果我嘗試連接到另一個數據庫,結果不會改變。 我也嘗試切換到postgresql(是的,我沒有忘記更改網址),但無濟於事,它仍然無法找到驅動程序。 由此,我猜測,實際的錯誤是在編譯/執行命令,但即使它們應該確定:

javac *.java <-cp mysql-connector-java-5.1.41-bin.jar >(所述<>括號意味着我試圖有和沒有指定的類路徑編譯);

java TAW -cp mysql-connector-java-5.1.41-bin.jar

在你想看到它的情況下,下面是嘗試連接到數據庫的方法:

public Connection getConnection() throws SQLException { 
    if (conn == null) { 
     conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+ 
     this.dbname,this.user,this.pass); 
    } 
    return conn; 
} 

有沒有人對爲什麼出現這種情況的任何想法?

回答

2

你需要把類路徑選擇爲Java主類名的前面,否則將被視爲程序參數:

java -cp mysql-connector-java-5.1.41-bin.jar;. TAW 
+0

呃..是的,這是真的,我是一個白癡。事情是,現在它找不到主類 – Elsifo

+0

,您將不得不將類包含的包添加到類路徑中。查看https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html以獲取更多信息 –

+1

查看我的編輯,包括'; .'(或':.'(如果在Linux上))將在類路徑中包含本地文件夾。 –

相關問題