我试图创建一个与H2数据库,这将是其他程序访问的 Spring 启动项目。
- 应用程序.属性 *
spring.datasource.url = jdbc:h2:tcp://localhost:8084/~/./db/tech
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.datasource.initialization-mode=always
- 我的应用程序. java *
@SpringBootApplication
public class SpringBootMyApplication{
public static void main(String[] args) {
SpringApplication.run(SpringBootMyApplication.class, args);
}
@Bean(initMethod = "start", destroyMethod = "stop")
public Server h2Server() throws SQLException {
return Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "8084");
}
}
例外情况是:
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database "C:/Users/onz03589/db/tech" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200]
如何真正"允许远程数据库创建"?
4条答案
按热度按时间4nkexdtk1#
你需要在
Server.createTcpServer()
中添加"-ifNotExists"
参数,但是,同样,你不应该把它和"-tcpAllowOthers"
一起使用,除非你的端口被保护了。huwehgph2#
您需要添加spring Boot starter jpa依赖项来启用
h2
数据库设置的自动配置。ffscu2ro3#
我在pom.xml中添加了这两个依赖项
并在www.example.com下面添加Application.properties
这对我很有效。
如果在创建数据库时要插入任何表或数据,可以将.sql文件放在resources目录下
现在,您可以在http://localhost:port/h2-console上打开数据库
svgewumm4#
原因可能是
1.运行服务器并点击控制台后,spring.datasource.url未正确填充。从www.example.com文件复制粘贴urlapplication.properties
1.您可能在属性大写和小写中犯了错误,例如:I have used
spring.datasource.driverclassname
代替
spring.datasource.driverClassName
因此,请检查区分大小写的属性名称