7

需要将 JavaDB (derby) db 文件的数据库和日志文件移动到部署目录中。数据库在应用程序启动目录中工作,因为 JavaDB 创建了一个具有数据库名称的文件夹(在我的例子中是 mydb),但我想将该目录移动到一个名为 data/create data/mydb 的子目录中。我可以通过 connect 调用来做到这一点:

DriverManager.getConnection("jdbc:derby:data/mydb;create=false");

这有效。但我想以编程方式显式设置

derby.system.home=data/
derby.stream.error.file=log/derby.log

所以我可以这样做:

DriverManager.getConnection("jdbc:derby:mydb;create=false");

并且所有数据库都将在该数据/目录中。德比日志文件将在日志/!我似乎无法弄清楚这一点。有人帮忙吗?有没有办法以编程方式设置这些属性(因为它是嵌入的)?

4

1 回答 1

7

文档(Derby 开发人员指南:设置 Derby 属性)建议如下:

Properties p = System.getProperties();
p.setProperty("derby.system.home", "C:\databases\sample");

我也看过

/* setting an attribute in a Properties object */
Properties myProps = new Properties();
myProps.put("create", "true");
Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB", myProps);
于 2010-09-28T06:50:16.233 回答