以编程方式设置 derby.system.home

发布于 2024-09-25 19:51:18 字数 561 浏览 6 评论 0原文

需要将 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");

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

Need to move the database and log files of JavaDB (derby) db files into deployment directories. The database is working in the application startup directory as JavaDB creates a folder with the name of the database (in my case mydb), but I want to move that dir into a subdir called data/ creating data/mydb. I can do this with the connect call:

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

and this works. But I'd like to programmatically explicitly set the value of

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

So I can do:

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

and all dbs would be in that data/ dir. And the derby log file would be in logs/! I just can't seem to figure this out. Anyone help? Is there a way to set those properties programatically (because it's embedded)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温折酒 2024-10-02 19:51:18

文档(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);

The documentation (Derby developers guide: Setting Derby properties) suggests something like:

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

I've also seen

/* setting an attribute in a Properties object */
Properties myProps = new Properties();
myProps.put("create", "true");
Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB", myProps);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文