程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 總結JDBC連接SQLServer的錯誤Error establishing sock

總結JDBC連接SQLServer的錯誤Error establishing sock

編輯:關於SqlServer
在用MSSQL連接數據庫的過程中,經常會遇見“Error establishing socket.”的錯誤,大概得錯誤日志信息如下:
  • Java.sql.SQLException : [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.    
  •     at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)    
  •     at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)    
  •     at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)    
  •     at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)    
  •     at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)    
  •     at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)    
  •     at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)    
  •     at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)    
  •     at java.sql.DriverManager.getConnection( DriverManager.Java:523 )    
  •     at java.sql.DriverManager.getConnection( DriverManager.Java:171 )    
  •     at test.SqlServerTest.main( SqlServerTest.Java:29 )   
    Java.sql.SQLException : [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) 
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) 
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source) 
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source) 
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source) 
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source) 
    at java.sql.DriverManager.getConnection( DriverManager.java:523 ) 
    at java.sql.DriverManager.getConnection( DriverManager.java:171 ) 
    at test.SqlServerTest.main( SqlServerTest.Java:29 ) 
    

    一 配置錯誤
        jdbc配置語句為: jdbc:microsoft:sqlserver://server_name:1433
    其中的sqlserver、server_name和端口號都要看仔細了。
    二 1433端口問題
        可以通過命令“netstat -an”,來查看是否開了1433端口,如果列表中沒有,要增開端口。
        要保持jdbc配置語句( jdbc:microsoft:sqlserver://server_name:1433)中的端口與數據庫傳輸協議默認的端口相同。
    MSSQL設置端口號步驟如下:
    1.  打開企業管理器,依次在控制台根目錄 ->Microsoft SQL Servers->SQL Server 組,列出一部分數據庫服務器。
    2.  右擊我們要連接的數據庫服務器,選擇屬性,在常規選項卡點擊網絡配置彈出新窗口。
    3.  在啟用的協議區域我們選擇 TCP/IP ,點擊屬性按鈕,彈出新窗口。在這個窗口有網絡協議默認值設置,一般默認端口是:1433。如果你在url中用的端口號與這個不同,就會出現錯誤。應保持二者相同。    可以用如下的方式查看MSSQL的版本:
    打開企業管理器-〉工具-〉SQL查詢分析器-〉幫助-〉關於
    查看MSSQL的詳細版本號
    如果 是  8.00.194  就是還沒打補丁
           8.00.760  就是SP3
            8.00.2039 就是SP4 1、下載MSSQL 2000  Service  Pack  3a並安裝,SQL請選用混和安裝模式!!! 
    http://www.microsoft.com/downloads/details.ASPx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn 
       解壓縮sp3的升級包後,還要點擊setup安裝.才能成功升級到sp3。  
    2、下載SQL  Server  2000  Driver  for  JDBC  Service  Pack  3 
    http://www.microsoft.com/downloads/details.ASPx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en     如果系統開防火牆或者殺毒軟件,在有些情況下也可以出現類似的問題。
    沒有遇見過,有人這麼說。

    這個我看別人的,但後來我是自己是這樣解決的。

      我是個人情況,但提示的也是上面的錯誤。如果在natstat -a 後確實Tomcat的端口被占用,則可以用我下面說的這個方法。或許對你也有效:

      到Tomcat的安裝目錄下(我的是D:\Tomcat5.0)找到bin目錄進入。再找到shutdown.exe。雙擊則把tomca關閉了。

    再啟動一次,再不行就改端口去。。再不行重裝。反正我重裝過一次,也行的通。其他環境變量配置也不需要改。因為我到裡面看發現還是保存著的!!

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved