这几天从原来的服务器上check out出一个工程,使用的是Spring+Hibernate的轻量级架构,数据库是SQL Server2000,数据源使用的jtds。可是原本运行正常的程序无论如何也跑不起来,连接数据库时,总是出现java.sql.SQLException: "Network error IOException: Connection refused: connect"。检查hibernate配置文件、使用查询分析器登陆数据库一切正常。于是google一下,发现了jtds的官方文档,对这个异常作了如下的解释(原文地址:http://jtds.sourceforge.net/faq.html):
当jtds不能连接到服务器时就会抛出这个异常,主要有以下一些原因:
1、服务器名称拼写错误或端口不正确。
2、SQL Server没有配置使用TCP/IP。通过SQL Server的服务器网络实用工具让TCP/IP可用,或者让jDts通过命名管道(name pipes)连接服务器(如何完成请参见URL格式)
3、防火墙阻止了对服务器1433端口的访问。
为了检查TCP/IP是否可用或者1433端口是否被禁止,你可以使用“Telnet <server_host> 1433”。如果Telnet不能连接,那么jDts也不能。如果你实在不能指出这是为什么,请向你的网络管理员寻求帮助。
我按照上面提供的方式折腾了半天,还是没有任何进展,以前是那么错误。继续搜索,按照各种提供的方式,进行测试,依然出错。也看到了有人和我的错误一样,并且最后也得到了解决,可是都没有提供解决的方法。
正在一筹莫展之际,忽然看到一条记录,提到了要打SQL Server2004要打Sp4的补丁。赶紧找来了Sp4安装,呵呵,服务器顺利启动。所以上面jDts给出的解释前,应该增加一条:
0、如果您的数据库是SQL Server2000,请确保已经升级到SP4。
相关文章
- 01-15解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during ...HRESULT: 0x80070422(注意尾部的错误号)
- 01-15.net core 连接sql server 时提示Connection Timeout Expired
- 01-15SQL2008:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
- 01-15sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 然后再连接:错误:18456
- 01-15sql server 2008 在与 SQL Server 提示建立连接时出现与网络相关的或特定于实例的错误
- 01-15SQL Server连接本地数据库时系统找不到指定的文件,配置管理器无法连接到 WMI 提供程序
- 01-15在与SQL Server建立连接时出现与网络相关的或特定于实例的错误
- 01-15在与SQL Server建立连接时出现与网络相关的或特定于实例的错误!
- 01-15SQL Server 之 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误
- 01-15在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误