如何正确关闭 Derby 内存中的数据库
我正在使用derby作为嵌入式数据库。此外,我正在使用它的内存中数据库选项进行单元测试。
我无法弄清楚的是如何正确关闭(快速查看代码)Derby数据库。我相信我让它适用于标准数据库,但是当在内存数据库中尝试类似的代码时,我得到了不同的异常。
我将省略细节,如果需要其他感觉,我会添加它们。
基本上,我正在尝试以这两种方式关闭我的数据库,其中我的内存数据库始终称为“eh”:
DriverManager.getConnection("jdbc:derby:memory:eh;shutdown=true");
然后:
DriverManager.getConnection("jdbc:derby:eh;shutdown=true");
前者导致异常,但不是预期的异常。详细信息如下:
java.sql.SQLNonTransientConnectionException: Database 'memory:eh' shutdown.
后者导致
java.sql.SQLException: 未找到数据库 'eh' 。
根据我能够弄清楚的情况,我们想要一个,但不是我们收到的那个。另一方面,错误似乎更合适,但不是正确的类型(尽管它是从 )也不是正确的状态代码。状态代码最终为:。SQLException
SQLNonTransientConnectionException
SQLException
08006
我的示例代码说明了一个 SQL 状态为“XJ015”的代码。SQLException
注意:我引用的例子是:WwdEmbedded Program(Java Code)。