我在 JavaFX 应用程序中使用 derby 数据库,一切正常,但是当我连接到 netbeans 中的数据库以检查一些记录,然后再次启动我的应用程序时,我收到此错误:
Another instance of Derby may have already booted the database
我断开了与数据库的连接,但仍然遇到异常,当我重新启动电脑时问题得到解决。
我该如何解决这个问题?
最佳答案
在嵌入模式下,仅允许一个进程访问 Derby 数据库文件。如果您使用 netbeans 打开数据库来查看发生了什么,那么您的 JavaFX 应用程序将是第二个以嵌入模式访问数据库文件的进程。但这些文件仍然在 netbeans 中打开。
在开发过程中,通常需要在应用程序访问数据库的同时查看数据库内容。您可以启动Derby Network Server并以客户端模式而不是嵌入式模式访问数据库。请务必切换 netbeans 和 JavaFX 应用程序的连接字符串。
部署应用程序时,您可以通过更改配置中的连接字符串轻松切换回嵌入模式。
关于java - Derby 的另一个实例可能已经使用嵌入式数据库启动了数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31300868/