Error establishing socket的解决方法

来源:互联网 发布:阿里指数能看淘宝吗 编辑:程序博客网 时间:2024/05/21 22:58

首先说明下我的开发环境。

1. windows XP

2. myEclipse7.5

3. Hibernate2.5     spring 3.2    struts 1.2

4. sql server 2000 

当我安装好sql server 2000之后,可以正常登陆。但在我使用hibernate配置数据源,想连接到数据库时,报了这个错误,下图是我配置的数据源。

 

 

在网上搜了些资料,放在这里分享下。具体信息可去微软的官网查看,网址http://support.microsoft.com/kb/827422/zh-cn

1. 验证 DNS 设置:若是两台计算机,则需要ping一下,看能否连通。

2. 验证启用的协议和别名,如果没有别名,则不用验证。

3. 解决 MDAC 问题:MDAC的版本不能低于2.6,如何查看版本,这个需要去微软下个软件。不过这个bug一般都不是因为这个问题。

4. 解决防火墙问题

5. 解决身份验证和安全问题:请确认 SQL Server 实例配置为使用 Windows 身份认证和 SQL Server 身份认证

6. sql server2000的版本问题:参考了一下版本与补丁号对照信息:我们安装的版本都是RTM的,需要下载补丁,SP3或SP4,我的这个bug就是出在这个地方。下面是各个版本(Analysis services号)与补丁号的对应关系。查看版本号,有个简单的方法是启动Analysis services,点击帮助/关于,即可看到版本号。
8.00.194 -------SQL Server 2000 RTM
8.00.384 -------(SP1)
8.00.534 -------(SP2)
8.00.760 -------(SP3)
8.00.2039--------(SP4)

 

 

另有一篇网上的方法,供参考:

如运行程序时出现 "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就好用了!

原创粉丝点击