You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot项目部署Tomcat后无法获取JDBC连接求助

问题分析与解决方案

1. 修复Hikari连接池参数冲突

你的配置存在明显参数矛盾:

spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=15

minimum-idle不能大于maximum-pool-size,这会直接导致连接池初始化失败,修改为合理值示例:

spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.minimum-idle=5

2. 修正数据源参数(适配HikariCP)

你混用了Tomcat数据源的参数,HikariCP有专属的参数命名规则,替换原有配置:

# 移除 spring.datasource.testOnBorrow 和 spring.datasource.validationQuery
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.validation-timeout=5000

3. 验证数据库访问可达性

  • 若Tomcat服务器与数据库不在同一机器,需将localhost替换为数据库实际IP/主机名:
    spring.datasource.jdbcUrl=jdbc:sqlserver://192.168.x.x;databaseName=IDDAA
    
  • 测试Tomcat服务器与数据库的网络连通性:用telnet 数据库IP 1433检查端口是否开放
  • 确保SQL Server开启TCP/IP协议,且防火墙放行1433端口
  • 验证数据库用户IDDAA允许从Tomcat服务器IP登录(在SQL Server中配置用户登录权限)

4. 检查war包依赖完整性

  • 确认Maven/Gradle配置中,SQL Server驱动依赖的scope未设置为provided(否则Tomcat不会包含该依赖):
    <!-- Maven示例 -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <!-- 不要设置scope为provided -->
    </dependency>
    
  • 解压war包,检查WEB-INF/lib目录下是否存在mssql-jdbc-xxx.jar

5. 查看Tomcat日志定位细节错误

Tomcatlogs目录下的catalina.out或localhost.log会记录更具体的连接失败原因(如用户名密码错误、驱动缺失、网络超时等),根据日志进一步排查。

6. 修正JPA配置参数

将原生Hibernate参数改为Spring Boot标准配置:

# 替换 hibernate.hbm2ddl.auto=update
spring.jpa.hibernate.ddl-auto=update

内容的提问来源于stack exchange,提问作者Yunus Emre Koçak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:27:12