Spring Boot连接SQL Server报错求助:DialectResolutionInfo为空问题
解决Spring Boot连接SQL Server 2014 Express的启动错误
从你的报错信息和配置来看,核心问题出在数据库连接配置错误以及无效的JPA配置,导致Hibernate无法正确获取方言信息,下面是具体的修复步骤:
1. 修正JDBC URL格式
你的SQL Server URL格式有误,SQL Server JDBC URL的端口应该用**冒号(:)**分隔,而不是斜杠(/),正确的格式应该是:
spring.datasource.url=jdbc:sqlserver://PCXXXXX\\SQLEXPRESS:1433;databaseName=mohan
注意:如果你的SQLEXPRESS实例使用的不是默认1433端口,需要替换成实际端口,可以在SQL Server配置管理器中查看TCP/IP的端口号。
2. 修复JPA的ddl-auto配置
你配置的spring.jpa.hibernate.ddl-auto =ddl-auto是无效值,Hibernate不识别这个选项,需要替换为合法值,比如:
# 根据你的需求选择:update(更新表结构)、create(每次启动创建表)、none(不操作表结构)等 spring.jpa.hibernate.ddl-auto=update
3. 确认SQL Server实例的基础配置
即使配置文件正确,也需要确保你的SQL Server 2014 Express满足以下条件:
- 开启了TCP/IP协议:在SQL Server配置管理器 -> SQL Server网络配置 -> SQLEXPRESS的协议中,启用TCP/IP。
- 防火墙允许1433端口(或你实际使用的端口)的入站连接。
- 你的
mohan用户拥有访问mohan数据库的权限,并且SQL Server的混合认证模式已开启。
4. 升级JDBC驱动版本适配Java 11
你使用的mssql-jdbc:6.1.0.jre8是针对Java 8的版本,而你的Java版本是11,可能存在兼容性问题,建议升级到兼容Java 11的驱动版本,比如:
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>9.4.1.jre11</version> </dependency>
这个版本和你的Spring Boot 2.2.2.RELEASE版本兼容性良好。
完成以上修改后,重新启动应用,应该就能正常连接到SQL Server数据库了。
内容的提问来源于stack exchange,提问作者Mohan vel
相关产品推荐
相关产品推荐

