当前位置: 首页 > 知识库问答 >
问题:

我无法连接到H2数据库

翁硕
2023-03-14
<dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
</dependency>
jdbc:
  driverClassName: org.h2.Driver
  pool.size.max: 10
  statement.timeout: 0
  url: jdbc:h2:mem:mytestdb;DB_CLOSE_ON_EXIT=FALSE
  username: sa
  password:

测试通过,即数据输入数据库,检查,一切正常。

但当我在调试模式下运行测试,在测试末尾放一个断点,尝试连接到数据库时,它是空的,连表都没有,更别提数据了。要连接,我使用dbever。在连接字符串中,我编写jdbc:h2:mem:mytestdb;db_close_on_exit=false(我尝试了jdbc:h2:tcp://localhost:9092/mem:mytestdb)。检查连接通过,写出一切正常,连接建立。会有什么问题?

我尝试写入一个文件,而不是URL:jdbc:h2:mem:ump-CurrencyManager;db_close_on_exit=false我写的是:url:jdbc:h2:file:c:\logs\logdb当我用Dbever打开文件时就会创建文件,甚至表也在那里,但表本身没有数据。

研究了关于这一主题的类似问题。

  @Test
  public void createPeopleTable() throws SQLException {
    int count = peopleService.count();
    assertEquals(0, count);
    peopleService.createPeopleTable();
    count = peopleService.count();
    assertEquals(34, count);
  }

共有1个答案

冯卜鹰
2023-03-14

您已经想好了如何从内存数据库切换到基于文件的存储。

请尝试早点设置断点。也许在测试结束时,会进行一些清理,删除所有表?或者可能有一种拆分方法来进行清理?

另一个想法:在测试过程中的某个地方编写一个备份:

connection.createStatement().execute("BACKUP TO '<desired-location>/backup.zip';");
 类似资料:
  • 我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?

  • 我无法连接到MySQL数据库。它发生在更新MySQL和JDK之后。我添加了,但没有结果。这是我从eclipse中得到的一个例外: 不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45、5.6.26和5.7.6的要求,如果未设置explicit选项,默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“f

  • 我需要帮助。我不知道这个项目出了什么问题。我无法连接到h2数据库。即使我没有持久化任何对象,只是关闭连接,我也会得到错误。 对不起,我知道,这已经被问过几次了,但没有一个答案符合我的情况。 我得到的错误: pom.xml: Hibernate Utils类: 储存库 项目结构:

  • 问题内容: 所以我在用Java连接MySQL时遇到问题。这是我的代码: 我得到的错误是线程“ main”中的异常 http://postimg.org/image/593stjvjx/ 在mySQL工作台中,我的连接名是“ worlddb”,主机名是Liquidus(是本地主机) 套接字是MySQL 端口:3306 为什么是这样? 问题答案: 图片中的模式与连接的名称和Database,try w

  • 我试图连接到银行,但它给出了这个错误,当我尝试: 应用程序无法启动 描述: 未能配置数据源:无法配置嵌入式数据源。 原因:未能确定合适的驱动程序级别 行动: 考虑下面的内容:如果你想要一个嵌入式数据库(H2,HSQL或DeBy),请把它放在类路径上。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有激活的配置文件)。 我的应用程序属性: 我的pom:

  • 我在持久性中有以下配置。我的jpa应用程序的xml: 我想它被称为“自动混合模式”,我应该能够使用h2控制台中的jdbc:h2:file:c:/workdir/db/dev url访问它。 我启动h2控制台: 然后,我只看到INFORMATION\u SCHEMA,没有看到我的应用程序创建的表。 怎么了?