对于单元测试,我使用derby内存数据库.
在测试运行时,是否有机会使用Eclipse Datasource Explorer之类的工具连接到此数据库?
我google了很多,有时我发现了类似的东西:
连接URL:jdbc:derby:// localhost:1527/memory/mydb ...
但它对我不起作用.
它说1527是默认端口.
是否可以使用eclipse explorer等工具连接到derby内存数据库?数据库是否打开要连接的连接端口?或者有什么特别的东西我必须配置为这个工作?
谢谢,亚历克斯
您好,经过更多研究,我得到了解决方案。
要连接到嵌入式 derby 内存数据库,您必须在应用程序中启动 NetworkServerControl。之后,您可以使用 eclipse DTP 插件/数据源资源管理器等连接到 derby 数据库。
创建内存数据库并启动 NSC 的代码可能如下所示:
public static void main(String args[])
{
NetworkServerControl nsc = new NetworkServerControl(InetAddress.getByName("localhost"), 1527);
nsc.start(new PrintWriter(System.out, true));
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection c = DriverManager.getConnection("jdbc:derby:memory:testdb;create=true");
}
Run Code Online (Sandbox Code Playgroud)
您必须包含 jdk7 (lib\db) 附带的 derby.jar 和 derbynet.jar 才能创建 NetworkServerControl 和数据库。
之后,只要您的应用程序(和数据库)正在运行,您就可以连接到数据库。连接 URL 为: jdbc:derby://localhost:1527/memory:testdb
用户名和密码:您选择
问候,
亚历克斯