【问题标题】:Intellij embedded H2 database tables do not appearIntellij 嵌入式 H2 数据库表不出现
【发布时间】:2022-07-01 02:17:27
【问题描述】:

我正在创建一个 Spring Boot 应用程序,并且正在使用 Intellij 的嵌入式 h2 数据库。

我在 application.properties 文件中添加了以下几行:

spring.datasource.url=jdbc:h2:~/testdb;MV_STORE=false;AUTO_SERVER=TRUE

这是我的数据源配置

虽然连接成功并且我可以使用 Intellij 的查询控制台查询数据库,但表并没有出现在“数据库”选项卡中。

Succeeded
DBMS: H2 (ver. 2.1.210 (2022-01-17))
Case sensitivity: plain=upper, delimited=exact
Driver: H2 JDBC Driver (ver. 2.1.210 (2022-01-17), JDBC4.2)
Ping: 16 ms

当我刷新连接或转到数据源配置的架构选项卡时,我收到以下错误:

[42S02][42102] org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "INFORMATION_SCHEMA_CATALOG_NAME" not found; SQL statement: select CATALOG_NAME from INFORMATION_SCHEMA.INFORMATION_SCHEMA_CATALOG_NAME [42102-210].

【问题讨论】:

  • 您不能在 H2 2.0 及更高版本中使用MV_STORE 设置,使用此设置时会抛出UnsupportedOperationException。看起来某个旧版本的 H2 (1.4.*) 正在运行,这个数据库文件被它打开,新版本试图连接到那个旧版本。这就是为什么您在连接尝试时看不到 UnsupportedOperationException 的原因,这就是为什么您没有 INFORMATION_SCHEMA_CATALOG_NAME 表的原因,在不受支持的旧版 H2 中没有这样的表。
  • @EvgenijRyazanov 我将其更改为 jdbc:h2:~/testdb;AUTO_SERVER=TRUE 并且问题仍然存在。我仍然得到完全相同的错误。最初我什至没有 MV_STORE,我在尝试解决此错误时添加了它。
  • 你有完整的堆栈跟踪吗?
  • Intellij 没有提供有关该错误的更多信息,我在上面提供的屏幕截图包含该程序提供的所有信息,据我所知。我不知道某处是否有一些隐藏的日志。

标签: database spring-boot intellij-idea h2


【解决方案1】:

通过转到数据源的高级选项卡并单击专家选项,我们会看到一个标记为“使用 JDBC 元数据进行内省”的复选框

通过选中该框,表格成功显示在“数据库”选项卡中

关于为什么会这样,这取自官方文档: https://www.jetbrains.com/help/datagrip/data-sources-and-drivers-dialog.html

使用 JDBC 元数据进行自省

切换到基于 JDBC 的内省。适用于所有数据库。

为了检索有关数据库对象(数据库元数据)的信息,DataGrip 使用以下自省器:

本机自省器(某些 DBMS 可能不可用)。本机自省器使用特定于 DBMS 的表和视图作为元数据的来源。它可以检索特定于 DBMS 的详细信息并生成更精确的数据库对象图片。

基于 JDBC 的自省器(适用于所有 DBMS)。基于 JDBC 的内省器使用 JDBC 驱动程序提供的元数据。它只能检索有关数据库对象及其属性的标准信息。

当本机自检器失败或不可用时,考虑使用基于 JDBC 的自检器。

当您的数据库服务器版本低于 DataGrip 支持的最低版本时,本机自省器可能会失败。

您可以尝试切换到基于 JDBC 的内省来解决从数据库中检索数据库结构信息的问题。例如,当数据库中存在的架构或架构级别以下的数据库对象未显示在“数据库”工具窗口中时。

【讨论】:

  • 很好,谢谢@pitprok!您介意详细说明为什么会这样吗?
猜你喜欢
  • 2021-01-07
  • 2022-01-20
  • 2017-03-05
  • 2023-03-19
  • 2016-01-22
  • 2012-10-22
  • 2018-06-13
  • 2017-10-06
  • 1970-01-01
相关资源
最近更新 更多