【发布时间】:2017-01-11 19:40:05
【问题描述】:
我正在使用 JDBC 和 H2 数据库开发应用程序,偶尔需要删除数据库文件。有没有办法做到这一点?
【问题讨论】:
-
顺便说一下,如果你需要一个没有持久性的临时数据库,H2 支持“内存中”模式,数据库只存在于内存中,永远不会被写入存储,并在你的应用程序退出时消失。
我正在使用 JDBC 和 H2 数据库开发应用程序,偶尔需要删除数据库文件。有没有办法做到这一点?
【问题讨论】:
Statement s = connection.createStatement();
s.execute("drop all objects delete files");
【讨论】:
是的,你可以!
参考这个答案找到H2存储数据库的文件夹(通常是用户的主目录): Where does H2's Embedded Databases Store the data?
要删除它,可以使用 org.h2.tools.DeleteDbFiles 类,如下所示:
DeleteDbFiles.execute(dbDir, dbName, true);
关于 DeleteDbFiles 类的更多信息:http://www.h2database.com/javadoc/org/h2/tools/DeleteDbFiles.html
【讨论】: