Tag: in memory database

如何正确关闭Derby内存数据库

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