【发布时间】:2014-05-27 18:18:26
【问题描述】:
我想在网络服务器模式下使用 Derby,并按照他们网站上的说明进行操作。
首发德比:
/opt/glassfish/4.0/javadb/bin/NetworkServerControl start -noSecurityManager
Sun Apr 13 23:47:57 CEST 2014 : Apache Derby Network Server - 10.9.1.0 - (1344872) started and ready to accept connections on port 1527
正在连接ij:
$ /opt/glassfish/4.0/javadb/bin/ij
ij version 10.9
ij> connect 'jdbc:derby:testDB';
ij> create table testt ( x varchar(200), y varchar(200), z varchar(13));
0 rows inserted/updated/deleted
ij> select * from testt;
X
|Y
|Z
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 rows selected
ij> commit;
ij>
用 Java 连接到 Derby:
static{
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
} catch (Throwable e) {
e.printStackTrace();
}
}
public void readData(){
final Connection connection = DriverManager.getConnection("jdbc:derby://localhost:1527/testDB");
....
}
DriverManager.getConnection() 失败:
java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ040,
SQLERRMC: Failed to start database 'testDB' with class loader sun.misc.Launcher$AppClassLoader@23137792, see the next exception for details.::
SQLSTATE: XSDB6Another instance of Derby may have already booted the database
我不是刚刚在网络服务器模式下启动了 derby 吗?为什么我会收到此错误?
【问题讨论】: