我正在eclipse中开发一个动态Web项目,它要求我连接到数据库并显示我选择的字段。
我创建了一个名为javadb的数据库。我可以单独从ij脚本工具和eclipse IDE访问javadb,但不能同时访问两者。
当我在tomcat服务器上部署我的web应用程序并运行使用数据库javadb的应用程序时,当我尝试使用命令通过ij工具连接到数据库时
connect 'jdbc:derby:javadb';
显示的错误是
ERROR XJ040: Failed to start database 'javadb' with class loader sun.misc.Launcher$AppClassLoader@74b10b, see the next exception for details.
ERROR XSDB6: Another instance of Derby may have already booted the database /home/computer/javadb.
我使用命令
启动apache derby网络服务器java -jar $DERBY_HOME/lib/derbyrun.jar server start
我只能在关闭服务器并重新启动它后才能访问javadb。
我使用Eclipse Kepler,Apache derby 10.10创建数据库,Apache tomcat 7作为服务器。操作系统Ubuntu 12.04
任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
我也得到了同样的异常,这就是帮助我的东西 - 删除数据库根目录下的.lck文件。确保没有其他应用程序正在访问数据库后删除它们。
答案 1 :(得分:0)
在嵌入式配置中,Derby数据库一次只能由一个Java应用程序访问。
为了让多个应用程序同时访问同一个Derby数据库,您需要在客户端 - 服务器配置中运行Derby,并确保Derby服务器正在运行。
除了部署Derby服务器之外,您必须做的唯一其他更改是更改连接URL和JDBC类名。
以下是一些文档:http://db.apache.org/derby/docs/10.10/adminguide/cadminov17524.html 和http://db.apache.org/derby/docs/10.10/adminguide/cadminov825266.html