代码之家  ›  专栏  ›  技术社区  ›  Winston Chen

如何在嵌入式h2数据库引擎运行时进行备份?

  •  16
  • Winston Chen  · 技术社区  · 15 年前

    我想用h2数据库引擎构建一个Web应用程序。但是,在阅读本教程之后,我仍然不知道如何在数据库运行时备份数据:

    http://www.h2database.com/html/tutorial.html#upgrade_backup_restore

    h2是否将其存储的文件输出到文件系统中的某个位置?我可以备份输出的文件吗?

    2 回复  |  直到 6 年前
        1
  •  12
  •   Jay Askren    15 年前

    h2存储在文件系统中,但最好使用您所引用的备份工具,因为h2版本之间的文件格式可以更改。如果升级h2,它可能无法再读取以前版本中创建的文件。另外,如果您复制它使用的文件,我建议您先关闭数据库,否则h2可能无法读取复制的文件。

    文件的位置取决于您指定的JDBC URL。参见常见问题解答: http://www.h2database.com/html/faq.html

        2
  •  7
  •   Jus12    9 年前

    按照 tutorial you linked ,不建议通过在数据库运行时复制文件来备份数据库。这里是在运行数据库时备份数据库的正确方法(Scala代码,但可以很容易地转换为Java) Source ):

    val connection:java.sql.Connection = ??? // get a database connection 
    connection.prepareStatement("BACKUP TO 'myFile.zip'").executeUpdate