1. 程式人生 > >com.microsoft.sqlserver.jdbc.SQLServerException: 到主機 的 TCP/IP 連線失敗 解決方案

com.microsoft.sqlserver.jdbc.SQLServerException: 到主機 的 TCP/IP 連線失敗 解決方案

最近使用SQLServer 2008資料庫進行開發,在用Java程式碼連線資料庫的時候遇到一個問題,應該是個常見的問題了,在網上找了很多方法都不能解決,最後通過一個無意的嘗試,解決了這個問題,在此記錄一下。開發工具是MyEclipse8.5和SQL Server 2008。出現的問題是:

com.microsoft.sqlserver.jdbc.SQLServerException: 到主機  的 TCP/IP 連線失敗。 java.net.ConnectException: Connection refused: connect
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:185)

異常資訊比這個要多,不過看第一行就可以了。

解決方案:開啟SQL Server Configuration Manager,點選SQL Server 網路配置前面的三角號,選擇SQLEXPRESS協議,檢視TCP/IP的狀態是否是已啟用,如果是已禁用,則右鍵點選TCP/IP選項,選擇啟用,如下圖所示:


然後右鍵點選TCP/IP選項,選擇屬性,選擇IP地址,拉到最下面,可以看到IPAll,TCP埠填寫為1433,點選確定。


然後選擇SQL Navite Client 10.0配置下的客戶端協議,在這裡保證TCP/IP的狀態為已啟用,如下圖所示:


右鍵點選TCP/IP,選擇屬性,可以看到這裡預設埠也是1433。如下圖所示:


最後要重啟服務才可以保證修改生效,選擇SQL Server服務下的SQL Server ,右鍵選擇重新啟動,重啟服務如下圖所示:


到此,問題解決。