如果你在測試連接SQL Server 2000 JDBC串連時出現錯誤Error establishing socket.請參考如下:
用 CMD 命令NETSTAT查1433(這是預設的連接埠,可能被佔用,你可以重新設一個新的連接埠)的連接埠可是居然沒有沒有開啟,先看看你的伺服器有沒有開啟,如果都大開了那就說明你沒有裝SQL的sp3或sp4的補丁.
還有一個方法看你是不是要打補丁,那就是看看你的版本號碼:
可以用如下的方式查看MSSQL的版本:
開啟企業管理器-〉工具-〉SQL查詢分析器-〉協助-〉關於
查看MSSQL的詳細版本號碼
如果 是 8.00.194 就是還沒打補丁
8.00.760 就是SP3
8.00.2039 就是SP4
如果你的版本號碼是對的,但NETSTAT查1433沒有,那可能你的1433連接埠被佔了,換一個連接埠應該就可以了.
換連接埠的方法是:1. 開啟企業管理器,依次在控制台根目錄 ->Microsoft SQL Servers->SQL Server 組,列出一部分資料庫伺服器。
2. 右擊我們要串連的資料庫伺服器,選擇屬性,在常規選項卡點擊網路設定彈出新視窗。
3. 在啟用的協議地區我們選擇 TCP/IP ,點擊屬性按鈕,彈出新視窗。在這個視窗有網路通訊協定預設值設定,一般預設連接埠是:1433。
另有一篇網上的方法,供參考:
如運行程式時出現 “Error establishing socket“ 錯誤,則應進行如下調試:
1 檢查SQL SERVER 是否允許遠端存取.具體步驟:
1)開啟“企業管理器“,開啟控制台根目錄>SQL Server 組>資料庫
2)在相應“資料庫“上單擊右鍵,選擇“屬性“
3)選擇“串連“選項卡,檢查“遠程伺服器串連“下,RPC服務是否選擇.
2 使用telnet IP地址 1433,系統是否提示串連出錯,如系統提示出錯
檢查是否防火牆屏蔽了SQL SERVER 或 java IDE 的網路訪問連接埠
如果是,關閉防火牆,重新啟動SQL SERVER和java IDE,進行測試,
如果系統仍提示上述錯誤,嘗試下列步驟
3 檢查SQL SERVER 連接埠號碼及是否啟用了TCP/IP協議,具體步驟:
1)開啟“企業管理器“,開啟控制台根目錄>SQL Server 組>資料庫
2)在相應“資料庫“上單擊右鍵,選擇“屬性“
3)選擇“常規“選項卡,點擊“網路設定“,如啟用的協議中無“TCP/IP協議“將其加入
4)選擇“TCP/IP協議“,點擊“屬性“,檢查其連接埠號碼是否為1433
5)如連接埠號碼為1433將其修改為其它連接埠號碼,修改jdbc串連語句,將連接埠號碼同樣改為新啟用的連接埠號碼,如jdbc:microsoft:sqlserver://server_name:1400(假設新連接埠號碼為 1400)
以下的方法你每種的去試試:
#檢查一下sql server的connection有沒有full.
#如果是認證的問題.
可到sql enterprice manager->指定server->內容->安全性.
把驗證改為 SQL server 及 windows.
#點選屬性檢查一下port是否正確.
#執行%MSSQL_HOME%\80\Tools\Binn\SVRNETCN.exe
把TCP/IP啟用.
#關掉防火牆.
#把SQL server update到sp3:
http://www.microsoft.com/sql/downloads/2000/sp3.asp
經我驗證,一般升級到sp3就好用了!