I m using derby as an embedded database. Furthermore, I m using it s in-memory database option for my unit tests.
What I can t figure out is how to properly shut down (A quick look at the code) the Derby database. I beleive I have it working for a standard database but I m getting different exceptions when attempt similar code on a in-memory database.
I m going to omit details, I ll add them if other feel are needed.
Basically, I m trying to shut down my database in these two fashions where my in-memory database is consistently called "eh":
DriverManager.getConnection("jdbc:derby:memory:eh;shutdown=true");
then:
DriverManager.getConnection("jdbc:derby:eh;shutdown=true");
The former results in an exception but not the one expected. The details are:
java.sql.SQLNonTransientConnectionException: Database memory:eh shutdown.
The latter results in
java.sql.SQLException: Database eh not found.
Based on what I ve been able to figure out, we want a SQLException
but not the one we receive. On the other hand, the SQLNonTransientConnectionException
error seems more appropriate but isn t the right type (though it is derived from SQLException
) nor does it have the right state code. The state code end up being: 08006
.
The example code I have illustrates that a SQLException
with a SQL state of "XJ015".
Note: The example I m referencing is: WwdEmbedded Program (Java Code).