【问题标题】:Apache Derby - Database created but not foundApache Derby - 数据库已创建但未找到
【发布时间】:2013-01-06 17:15:14
【问题描述】:

这是我之前question的延续

我正在尝试在我的 Web 应用程序中嵌入一个 derby 数据库。我能够嵌入它,虽然我面临着小故障。这是我的项目结构的快照。

我想知道为什么class.forName("org.apache.derby.jdbc.EmbededDriver") 会抛出异常?

java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbededDriver

为了克服这个问题,我使用了

DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());

效果很好。为什么会这样?此外,如果这样编码,它将在哪里创建数据库。我找不到数据库。

connection = DriverManager.getConnection("jdbc:derby:MyDbTest;create=true");

我检查了tomcat webapps和eclipse工作区,我没有找到数据库。

如果这样的话,我可以发现它。

connection = DriverManager.getConnection("jdbc:derby:E:/MyDbTest;create=true");

【问题讨论】:

    标签: java web-applications derby


    【解决方案1】:
    class.forName("org.apache.derby.jdbc.EmbededDriver")
    

    由于嵌入中缺少“d”而引发异常。

    有关在文件系统上指定数据库位置的信息,请参见此处。

    connecting to a file-based derby database

    【讨论】:

    • 我看到数据库是在eclipse安装目录下创建的。
    • 通过tomcat部署时,在tomcat的bin目录下创建数据库
    • 默认是当前工作目录,大多数操作系统是启动程序(eclipse.exe 或 java 用于 tomcat)的位置。
    猜你喜欢
    • 2010-10-09
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    相关资源
    最近更新 更多