2014-08-30 182 views
1

我的Java程序(我的第一個),似乎是在hanging以下行的標準代碼:值java.sql.SQLException:沒有合適的驅動程序找到了JDBC:sqlite的

Class.forName("org.sqlite.JDBC"); 

    Connection c = null; 
    Statement stmt = null; 
    c = DriverManager.getConnection("jdbc:sqlite:test.db"); 
    c.setAutoCommit(false); 

我recieving運行Java應用程序,我提供jdbc driver(我認爲)的正確位置時

java.sql.SQLException: No suitable driver found for jdbc:sqlite:test.db 

然而,;:以下error

sudo java -cp ./jsoup-1.7.3.jar:./sqlite-jdbc-3.7.2.jar:. <AppName> 

任何想法如何進行?
萬分感謝

+0

您需要在您的類路徑中使用sqlite jdbc連接器。 – 2014-08-30 12:20:28

+0

你使用任何IDE?將您的連接器jar添加到您的項目中。 – 2014-08-30 12:21:24

+0

別人說什麼。但是,[Class.forName()應該失敗並帶有'ClassNotFoundException'](http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#forName(java.lang.String )),所以一定不要在某處吞下異常(即儘量避免catch(Exception e){}' – watery 2014-08-30 12:26:48

回答

1
sudo java -cp ./jsoup-1.7.3.jar:./sqlite-jdbc-3.7.2.jar:. 

任何想法如何進行呢?謝謝百萬

是的。我看到兩個主要問題。一,除非你有很好的理由,不要用sudo運行你的程序。如果你這樣做,它可能會導致你嚴重的疼痛。

其次,你的類路徑看起來不正確。 jar文件位於它上面。第一部分應該是搜索的路徑,第二部分應該是搜索的瓶子。

java -cp ".:jsoup-1.7.3.jar:sqlite-jdbc-3.7.2.jar" ... 

最後,我假設你從sqlite herejsoup here下載並在你的當前目錄下的文件jar,如果仍然不能正常工作,你應該檢查這些文件是否正確。

$ sha1sum sqlite-jdbc-3.7.2.jar 
cea9f7f8e6bcb580d953a8651fb8391640de0f85 sqlite-jdbc-3.7.2.jar 
$ sha1sum jsoup-1.7.3.jar 
ab1f22cadc2f8b514e55ba368f5128056fe304da jsoup-1.7.3.jar 
+0

謝謝,這確實有幫助! – 2014-09-01 09:58:59

相關問題