朋友公司接了個項目,甲方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有沒有開啟
點擊確定,然后需要重新啟動服務
等待服務重啟就可以啦!
希望能幫到有需要的小伙伴們,點個贊吧!