1. 程式人生 > >android studio下解決 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/

android studio下解決 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/

android studio下解決 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/


最近把以前寫的訪問資料庫的小專案拿出來重溫,編譯後發現連不上資料庫了,提示錯誤:

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

對應程式碼 con = DriverManager.getConnection(url,USER_NAME,PASSWORD)


這個錯誤在開發此專案時就與它搏鬥過許久,解決途徑通常有三種:

    一:URL格式不對:見後面方正確 Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
    二:驅動字串出錯(com.mysql.jdbc.Driver)  
    三:Classpath中沒有加入合適的mysql_jdbc驅動


這個專案之前是執行正常的,且經過再次仔細檢查,第一、二條都不是原因(第二條其實並不明白它在說啥,反正沒用過),那麼只有第三條了。


前段時間更新了java版本,是否與此有關?把sqljdbc4-3.0.jar和mysql-connector-java-6.0.5.jar放入本機當前java lib/ext路徑下,在環境變數中更新class path 路徑,又重啟電腦與軟體 ,然而結果無效:(。

反覆翻閱嘗試網上各貼,也沒有解決問題。

最後回到專案本身,唯一區別之處似乎就是各解決方案中的專案編輯器大都是eclipse。而我的專案作為android app的配套伺服器端軟體,為了方便管理並與客戶端共享部分物件,

是作為 一個project中android app並列的模組而建立,編輯器也是android studio。

檢視android studio中的 External Libraries樹,其使用的java 路徑在這裡:C:\Program Files\Android\Android Studio1\jre\

為什麼Android Studio後面會有一個1呢,原來某次升級Android Studio的時候更換了一次路徑,換到了Android Studio1下面。這個java路徑下面並沒有訪問資料庫需要的jar。

於是把sqljdbc4-3.0.jar和mysql-connector-java-6.0.5.jar放入C:\Program Files\Android\Android Studio1\jre\jre\lib\ext。重啟伺服器軟體,錯誤消失了:)

至於原來為什麼專案正常,也許以前也發現了問題所在,把jar放了進來,沒有記錄隨後就忘了。這次記錄下來,以備後來。