我正在编写一些使用 Java DB(即 Apache Derby)作为数据库的 Java 应用程序。我使用以下方法连接到数据库:
Connection getConnection() throws SQLException {
EmbeddedDataSource ds = new EmbeddedDataSource();
ds.setDatabaseName(dbUri);
ds.setPassword(password);
ds.setUser(username);
Connection conn = ds.getConnection();
conn.setSchema(schema);
return conn;
}
这工作正常,但有时我得到以下异常:
java.sql.SQLException: Another instance of Derby may have already booted the database
当我运行我的应用程序并且同时SQuirreL SQL 客户端连接到我的数据库时,就会发生这种情况。所以一切都按预期工作,但我希望能够在我的getConnection()
方法中检查这一点。换句话说,我想检查是否有任何会话打开到我的数据库,例如,关闭它们、抛出我自己的异常或显示错误对话框。我不知道该怎么做。
谢谢