通过JDBC连接到Derby数据库失败

时间:2014-01-25 21:56:07

标签: java database database-connection derby

我正在尝试构建一个简单的spring应用程序,它需要具备与数据库通信的能力。按照教程我已经完成了我的应用程序的整个代码,但是当我运行我的应用程序时,我得到了这个:

    Exception in thread "main" java.lang.IllegalStateException: Could not load JDBC driver class [org.apache.derby.jdbc.EmbeddedDruver]
    at org.springframework.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:130)
    at main.Application.main(Application.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDruver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:127)
    ... 1 more

以下是设置数据源和jdbc的代码:

        DriverManagerDataSource ds = new DriverManagerDataSource();
        ds.setDriverClassName("org.apache.derby.jdbc.EmbeddedDruver");
        ds.setUrl("jdbc:derby:c:\\temp\\database\\test01;create=true");
        ds.setUsername("");
        ds.setPassword("");
        siod.setDataSource(ds);

我使用SQuirrel创建我的数据库。我百分之百确定这是路径。这是一个图像,它告诉db有什么路径: http://postimg.org/image/4tbfsxql9/

我确信我的问题有一个简单的答案。谢谢。

1 个答案:

答案 0 :(得分:1)

正确的拼写是“org.apache.derby.jdbc.EmbeddedDriver”而不是EmbeddedDruver。

如果没有解决问题,请检查您是否已将类路径设置为包含Derby jar。这可以是解释here,也可以将Derby jar包含在应用程序库中的其他jar中。