Ava*_*lor 2 java spring h2 spring-boot
我正在 MacBook 上使用 Eclipse/STS 做一个简单的 Spring Boot 和嵌入式 H2 教程。
当我仅使用 H2 作为内存时它工作正常,我的application.properties文件如下所示:
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
Run Code Online (Sandbox Code Playgroud)
但是我想将数据库持久化到一个文件中(这样应用程序关闭时数据就不会丢失)。
当我进行此更改以将 DB 写入磁盘时:
spring.datasource.url=jdbc:h2:file:/data/demo
Run Code Online (Sandbox Code Playgroud)
我在启动时收到此错误:
org.h2.message.DbException: Log file error: "/data/demo.trace.db", cause: "org.h2.message.DbException: Error while creating file ""/data"" [90062-200]" [90034-200]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
堆栈跟踪中的更多详细信息:
2020-11-09 12:33:24.246 INFO 15139 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
org.h2.message.DbException: Log file error: "/data/demo.trace.db", cause: "org.h2.message.DbException: Error while creating file ""/data"" [90062-200]" [90034-200]
org.h2.message.DbException: Log file error: "/data/demo.trace.db", cause: "org.h2.message.DbException: Error while creating file ""/data"" [90062-200]" [90034-200]
at org.h2.message.DbException.get(DbException.java:194)
at org.h2.message.TraceSystem.logWritingError(TraceSystem.java:294)
[...]
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Log file error: "/data/demo.trace.db", cause: "org.h2.message.DbException: Error while creating file ""/data"" [90062-200]" [90034-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:505)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
... 92 more
Caused by: org.h2.message.DbException: Error while creating file "/data" [90062-200]
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.get(DbException.java:181)
at org.h2.store.fs.FilePathDisk.createDirectory(FilePathDisk.java:290)
at org.h2.store.fs.FileUtils.createDirectory(FileUtils.java:43)
at org.h2.store.fs.FileUtils.createDirectories(FileUtils.java:315)
at org.h2.message.TraceSystem.openWriter(TraceSystem.java:305)
... 89 more
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Error while creating file "/data" [90062-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:505)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
... 95 more
Run Code Online (Sandbox Code Playgroud)
解决方案是我需要.这样的./data/demo:
spring.datasource.url=jdbc:h2:file:./data/demo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |