当前位置: 首页 > 面试题库 >

为什么我的嵌入式H2程序写入.mv.db文件

蒋曾笑
2023-03-14
问题内容

我遵循了h2数据库网站上的快速入门指南,在表中创建了一个新数据库并插入了一些数据。该应用程序运行流畅,可以毫无问题地读写数据库。

  • 将h2 * .jar添加到类路径(H2没有任何依赖关系)
  • 使用JDBC驱动程序类:org.h2.Driver
  • 数据库URL jdbc:h2:〜/ test在用户主目录中打开数据库测试
  • 自动创建一个新的数据库

现在,我想使用Web前端h2控制台查看数据,但是每次尝试打开数据库时,它只会创建一个新数据库。

经过长时间的搜索,我注意到使用h2嵌入式版本的Java-App会写入一个名为“ .mv.db”的文件,而Web前端会创建一个名为“
.h2.db”的文件(对于我)

同样,当我的应用程序写入数据库时​​,它使用了极大量的空间(对于约600个整数值,使用80MB的空间)
如何为嵌入式数据库使用“ .h2.db”扩展名?


问题答案:

自版本1.4.177 Beta(2014-04-12)起,此功能现已自动启用。

您可以通过将;MV_STORE=FALSE和添加;MVCC=FALSE到数据库URL 来禁用它

默认情况下,MV_STORE选项处于启用状态,因此它正在使用新的MVStore存储。MVCC设置默认情况下设置为与MV_STORE设置相同的值,因此默认情况下也会启用。对于测试,可以通过在数据库URL上附加“;
MV_STORE = FALSE”和/或“; MVCC = FALSE”来禁用这两个设置。

http://www.h2database.com/html/changelog.html

您应该告诉我们您使用的H2的确切版本。



 类似资料:
  • 问题内容: 这是代码片段。 编辑:我正在从目录中读取文件。因此,我需要在每个循环中打开阅读器。我进行了一些修改,但同时也没有写入该文件。这是代码: 编辑:我修改了代码,但没有成功, 而且我收到此错误: 编辑:谢谢..我想通了。实际上,我在eclipse中创建了一个目录,但没有刷新它来查看内容。真是太傻了…还是非常感谢 问题答案: 您正在循环内创建FileWritter,因此您将始终在每个循环中截断

  • 问题内容: 目前,我们使用HSQLDB作为嵌入式数据库,但是随着数据量的增长,我们将搜索内存占用更少的数据库。 Derby / JavaDB 目前无法选择,因为它在系统属性中全局存储属性。所以我们想到了h2。 当我们使用HSQLDB时,我们创建了一个Server对象,设置参数并启动它。这描述在这里(和如实施例中的类org.hsqldb.test.TestBase的给定)。 问题是:这也可以与h2数

  • 问题内容: 对于单元测试(如果需要,可将其称为集成测试),我已经在Spring配置中配置了嵌入式数据库,如下所示: 现在,从命令行运行测试时,它们可以正常工作,但是最后我得到一些错误(无害,但很烦人): 现在,包含在异常中的提示通常很好,但是如何将此属性添加到嵌入式数据源?我是否必须扩展它,手动配置它以添加此类 “高级” 功能? 问题答案: 在JDBC网址jdbc:h2:〜/ test中 指定参数

  • 问题内容: 我正在ARM Cortex-A8上使用ELinux内核。 我知道引导加载程序的工作方式以及正在执行的工作。但是我有一个问题-为什么我们需要引导加载程序, 为什么引导加载程序诞生了 ? 为什么在没有引导加载程序的情况下不能直接从闪存将内核加载到RAM?如果我们加载它,将会发生什么?实际上,处理器将不支持它,但是为什么要遵循该程序? 问题答案: 引导加载程序是一种计算机程序,可以在自检完成

  • 我在编译使用嵌入式Derby数据库的java程序时遇到了麻烦。我正在使用Netbeans,并使用了“clean and build”选项,该选项创建了一个dist文件夹。我将数据库添加到dist/resources文件夹中,我将derby连接指向的那个文件夹: 麻烦的是,有些人无法运行程序。对于有些人来说,这就像点击dist文件夹中的.jar文件一样简单。对其他人来说,它根本不会运行。另外,我已经

  • 我想根据id加入Customer和Address对象。这些是我对kafka stream for Customer主题的输入 和以下fro地址 我使用了间隔连接以及使用TumblingEventTimeWindows和滑动窗口的JoinFunction,但它没有连接客户和地址流。我不明白我在代码中遗漏了什么。