pit*_*rok 10 database intellij-idea h2 spring-boot
我正在创建一个 Spring Boot 应用程序,并且正在使用 Intellij 的嵌入式 h2 数据库。
我在 application.properties 文件中添加了以下几行:
spring.datasource.url=jdbc:h2:~/testdb;MV_STORE=false;AUTO_SERVER=TRUE
Run Code Online (Sandbox Code Playgroud)
尽管连接成功并且我可以使用 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
Run Code Online (Sandbox Code Playgroud)
当我刷新连接或转到数据源配置的架构选项卡时,出现以下错误:
[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].
Run Code Online (Sandbox Code Playgroud)
pit*_*rok 16
通过转到数据源的高级选项卡并单击专家选项,我们会看到一个标记为“使用 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 的内省器来解决从数据库检索数据库结构信息时出现的问题。例如,当数据库中存在的架构或架构级别以下的数据库对象未显示在数据库工具窗口中时。
| 归档时间: |
|
| 查看次数: |
5238 次 |
| 最近记录: |