H2 数据库 - 在控制台中恢复配置

Posted

技术标签:

【中文标题】H2 数据库 - 在控制台中恢复配置【英文标题】:H2 Database - restore configurations in console 【发布时间】:2016-05-04 08:59:08 【问题描述】:

在 H2 控制台中,我单击了配置上的“删除”按钮。几次重新安装后,这些选项没有恢复,所以现在我唯一的选择是我不想要的通用 JNDI 数据源。

如何恢复它们?

我使用的是 Mac。

【问题讨论】:

【参考方案1】:

您家中有一个名为 .h2.server.properties 的文件。

这会存储配置,可以删除然后重新安装以重新填充。

【讨论】:

【参考方案2】:

配置文件 h2.server.properties 位于 userHome / 删除它并重新执行您的项目,插件会重新创建文件并恢复配置。

【讨论】:

【参考方案3】:

进入主目录并找到这个文件:

$ cd ~
$ ls -alh | grep "h2"
-rw-r--r--    1 chaklader  staff   1.9K Nov  1 18:02 .h2.server.properties

在您的 VSCode 或任何其他编辑器中打开此文件 .h2.server.properties。复制整个文件或仅复制提供 H2 信息的 2 行:

#H2 Server Properties
#Mon Nov 01 18:53:17 BDT 2021
webSSL=false
webAllowOthers=false
webPort=8082
10=Generic DB2|com.ibm.db2.jcc.DB2Driver|jdbc\:db2\://localhost/test|
11=Generic Oracle|oracle.jdbc.driver.OracleDriver|jdbc\:oracle\:thin\:@localhost\:1521\:XE|sa
12=Generic MS SQL Server 2000|com.microsoft.jdbc.sqlserver.SQLServerDriver|jdbc\:microsoft\:sqlserver\://localhost\:1433;DatabaseName\=sqlexpress|sa
13=Generic MS SQL Server 2005|com.microsoft.sqlserver.jdbc.SQLServerDriver|jdbc\:sqlserver\://localhost;DatabaseName\=test|sa
14=Generic PostgreSQL|org.postgresql.Driver|jdbc\:postgresql\:test|
15=Generic mysql|com.mysql.jdbc.Driver|jdbc\:mysql\://localhost\:3306/test|
16=Generic HSQLDB|org.hsqldb.jdbcDriver|jdbc\:hsqldb\:test;hsqldb.default_table_type\=cached|sa
17=Generic Derby (Server)|org.apache.derby.jdbc.ClientDriver|jdbc\:derby\://localhost\:1527/test;create\=true|sa
18=Generic Derby (Embedded)|org.apache.derby.jdbc.EmbeddedDriver|jdbc\:derby\:test;create\=true|sa
19=Generic H2 (Embedded)|org.h2.Driver|jdbc\:h2\:~/test|sa
0=Generic JNDI Data Source|javax.naming.InitialContext|java\:comp/env/jdbc/Test|sa
1=Generic Teradata|com.teradata.jdbc.TeraDriver|jdbc\:teradata\://whomooz/|
2=Generic Snowflake|com.snowflake.client.jdbc.SnowflakeDriver|jdbc\:snowflake\://accountName.snowflakecomputing.com|
3=Generic Redshift|com.amazon.redshift.jdbc42.Driver|jdbc\:redshift\://endpoint\:5439/database|
4=Generic Impala|org.cloudera.impala.jdbc41.Driver|jdbc\:impala\://clustername\:21050/default|
5=Generic Hive 2|org.apache.hive.jdbc.HiveDriver|jdbc\:hive2\://clustername\:10000/default|
6=Generic Hive|org.apache.hadoop.hive.jdbc.HiveDriver|jdbc\:hive\://clustername\:10000/default|
7=Generic Azure SQL|com.microsoft.sqlserver.jdbc.SQLServerDriver|jdbc\:sqlserver\://name.database.windows.net\:1433|
8=Generic Firebird Server|org.firebirdsql.jdbc.FBDriver|jdbc\:firebirdsql\:localhost\:c\:/temp/firebird/test|sysdba
9=Generic SQLite|org.sqlite.JDBC|jdbc\:sqlite\:test|sa
20=Generic H2 (Server)|org.h2.Driver|jdbc\:h2\:mem\:testdb|sa

重新启动 H2 数据库,如果您有任何自定义属性,则需要在控制台中提供正确的 URL:

spring.jpa.show-sql=true
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb

尝试使用Generic H2 (Server),您现在应该可以登录了。

【讨论】:

以上是关于H2 数据库 - 在控制台中恢复配置的主要内容,如果未能解决你的问题,请参考以下文章

从损坏的 h2 数据库文件中恢复所有可能的信息

Spring Boot DataJpaTest 单元测试恢复到 H2 而不是 mySql

H2 数据库集群恢复

无法在 Spring 应用程序中登录 H2 控制台

H2 数据库恢复到特定状态进行测试

H2 控制台看不到 JAVA 创建的表