目前我正在使用通过首次使用tomcat 8.0的server.xml(在Windows 7上)中指定的GlobalNamingResource创建的嵌入式Derby数据库。
目前我可以在Java代码中使用它,但如果我想使用其他工具(如Eclipse Data Source Explorer)访问它,我无法在我的文件系统(Windows 7)中找到它。
我的server.xml的相关部分如下所示:
<Resource auth="Container"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
maxActive="100" maxIdle="30" maxWait="10000"
name="jdbc/myDB" password="" username=""
type="javax.sql.DataSource"
url="jdbc:derby:Databases/myDerbyDB;create=true" />
context.xml包含:
<ResourceLink name="jdbc/myDBLink" global="jdbc/myDB"
auth="Container" type="javax.sql.DataSource" />
Java代码使用(稍微缩短):
DataSource ds = (DataSource) env.lookup("java:/comp/env/jdbc/myDBLink");
这可以很好地重启并重新启动我的tomcat服务器。可以使用Hibernate,EclipseLink,纯JDBC,...来访问数据库,并且数据很好地保存在其中。文档状态,应该存储在CATALINA_HOME下面的某个地方,但在那里我找不到任何看起来像Derby DB的东西。此外,当我搜索我的所有磁盘时,我找不到名为myDerbyDB
的文件夹,也找不到包含相关内容的文件夹Databases
。
所以我的问题是:Derby在哪里存储我的数据?
答案 0 :(得分:0)
因此,根据布莱恩和史蒂夫的评论,我找到了自己问题的答案。
对于Tomcat管理的Derby嵌入式数据库,在Windows下的Eclipse中运行tomcat,derby.system.home似乎是指Eclipse 安装文件夹而不是它的工作区。
所以当你的Eclipse IDE安装在
下面时D:\eclipse
JDBC URL
jdbc:derby:Databases/myDerbyDB
将引用位于
中的Derby数据库D:\eclipse\Databases\myDerbyDB
谢谢Steve和Bryan!