我正在尝试连接到本地计算机上的 h2 数据库以创建 sql 数据源对象。我正在运行 Windows,在我的项目 app.properties 文件中定义数据文件的路径时遇到了一些问题。
假设本地目录数据文件的路径为:
D:projectsmyprojectdataproject
如何为此定义连接 URL?
我已经尝试了很多事情,包括以下内容:
project.db.url = jdbc:h2:tcp://localhost\\D:\projects\myproject\data\project
然后我想也许是JDBC URL是问题所在,所以我尝试了:
project.db.url = jdbc:h2:tcp:\\localhost\\D:\projects\myproject\data\project
将application.properties
更改为以下内容:
spring.jpa.open-in-view=true
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
将 H2 控制台设置为以下内容:
jdbc:h2:mem:testdb
根据文档,默认JDBC
连接字符串为
jdbc:h2:~/test
并且,对于TCP连接
jdbc:h2:tcp://localhost/~/test
==更新==
但是,如果您想在特定文件夹中创建/读取 h2 数据库,那么它应该是
jdbc:h2:tcp://localhost/<path_to_database>
这意味着,
jdbc:h2:tcp://localhost/D:/myproject/data/project-name
感谢@Sam分享信息。
如果您使用的是 Spring Boot 并且不想更改默认名称,则可以查找此日志语句并从那里复制 JDBC 连接信息:
2021-08-31 20:27:13.295 INFO 12032 --- [ restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a'
因此,在此示例中,连接字符串为">jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a">