总结JDBC连接SQLServer的错误Error establishing socket

在用MSSQL连接数据库的过程中,经常会遇见“Errorestablishingsocket.”的错误,大概得错误日志信息如下:

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.打开企业管理器,依次在控制台根目录->MicrosoftSQLServers->SQLServer组,列出一部分数据库服务器。

2.右击我们要连接的数据库服务器,选择属性,在常规选项卡点击网络配置弹出新窗口。

3.在启用的协议区域我们选择TCP/IP,点击属性按钮,弹出新窗口。在这个窗口有网络协议默认值设置,一般默认端口是:1433。如果你在url中用的端口号与这个不同,就会出现错误。应保持二者相同。

三没打补丁

可以用如下的方式查看MSSQL的版本:

打开企业管理器-〉工具-〉SQL查询分析器-〉帮助-〉关于

查看MSSQL的详细版本号

如果是8.00.194就是还没打补丁

8.00.760就是SP3

8.00.2039就是SP4

1、下载MSSQL 2000ServicePack3a并安装,SQL请选用混和安装模式!!!

http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn

解压缩sp3的升级包后,还要点击setup安装.才能成功升级到sp3。

2、下载SQLServer2000DriverforJDBCServicePack3

http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en

四 系统防火墙或者杀毒软件

如果系统开防火墙或者杀毒软件,在有些情况下也可以出现类似的问题。

没有遇见过,有人这么说。

可能我查询的未必全面,如果你的解决方式不同,可以给我留言,一起完善其解决方法.

参考文献:

1http://dev.csdn.net/article/70/70360.shtm

2http://blog.chinaunix.net/u/20532/showart_289640.html

3http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=29250&messageID=175704

相关推荐