2010-02-04 125 views
0

我想從java連接到MS SQL Server 2005,出現以下錯誤, 任何人都可以幫助我嗎?連接到Microsoft SQL Server時出錯

private static final String DRIVER_CLASS = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
Class.forName(DRIVER_CLASS); 
DriverManager.getConnection("jdbc:sqlserver://localhost:1433","sa","root"); 

我增加了以下5個jar文件:

  • msbase
  • MSSQLSERVER
  • msutil
  • sqljdbc
  • sqljdbc4

這位前ception是:

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(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 

回答

0

你是否在防火牆上?如果是這樣,也許您需要爲端口1433設置例外

+0

不,我沒有任何防火牆 – 2010-02-04 11:45:02

+0

檢查http://support.microsoft.com/kb/313178 – Lombo 2010-02-04 12:04:04

+0

此線程也有一些可能的答案http://forums.sun.com/thread.jspa?threadID=419214 – Lombo 2010-02-04 12:07:39

0

請檢查服務器上啓用了哪些協議。轉到開始/程序/ Microsoft | SQL Server 2005 /配置工具/ SQL Server配置管理器。檢查是否在MSSQLSERVER的SQL Server 2005網絡配置/協議下啓用了tcp。

請檢查您是否沒有命名實例 - 默認情況下,SQL Server Express版本創建一個命名實例。

第三 - 檢查SQL Server是否具有混合模式身份驗證 - 如果不是,它將不允許您使用SQL登錄名和密碼進行連接。順便說一句,使用sa帳戶來開發應用程序是一個壞主意。

+0

@Piotr Rodakam:在啓用TCP/IP訪問時拒絕[0x80041003] – 2010-02-08 05:36:44

+0

可以告訴我什麼URL連接到MS SQL Server2005? – 2010-02-08 05:39:04

+0

你是服務器機箱上的系統管理員嗎? – 2010-02-08 19:52:31

相關問題