2014-08-30 117 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

相关问题