データベースとしてJavaDB(つまり、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
これは、アプリケーションを実行し、同時にSQuirreLSQLクライアントがデータベースに接続されている場合に発生します。したがって、すべてが期待どおりに機能しますが、私のメソッドでこれを確認できるようにしたいと思いgetConnection()
ます。つまり、データベースに対して開かれているセッションがあるかどうかを確認し、たとえば、セッションを閉じたり、独自の例外をスローしたり、エラーダイアログボックスを表示したりしたいと思います。これを行う方法がわかりません。
どうも