朋友公司接了个项目,甲方BaBa用的数据库是SqlServer 2022的Express版本,朋友让我帮忙验证下环境有没有什么问题,软件开发用的框架还是比较老的,spring的xml方式配置,用的c3p0的数据库连接池,启动项目连接池一直报错,甲方装了另一个数据库实例,我一直以为是我配置的JDBC的url有问题,也去查了微软官网的配置,都没有问题,但就是连接不上数据库,连接池一直报的是死锁错误,没有显示具体错误,当时我就想了个办法,先不使用连接池,将datasource改成spring的org.springframework.jdbc.datasource.DriverManagerDataSource
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/yourdatabase"/><property name="username" value="yourusername"/><property name="password" value="yourpassword"/>
</bean>
重新启动项目果然可以查看到具体错误了
首先SqlServer现在不一定会默认开启TCP/IP,默认端口也没有设置,那么我们如何解决呢,
演示windows环境
查看网络配置,找到对应实例的配置,查看TCP/IP有没有开启
点击确定,然后需要重新启动服务
等待服务重启就可以啦!
希望能帮到有需要的小伙伴们,点个赞吧!