日期:2014-05-16  浏览次数:20465 次

JDBC连接SQL server 2008错误解决
今天用eclipse搭建了一个SSH框架。项目启动时报错:
 
Sql代码 : 
<span style="font-size: medium;">com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
</span>  
 
首先,直接运行sql server 2008 management studio,并登陆数据库引擎,并没有报错。
猜测是sql server 2008远程连接的配置问题。
解决方案:参照这篇文章http://cutt.com/article/clip/100271126/3643992615。
 
再次运行,错误发生了改变,如下:
 
Sql代码: 
<span style="font-size: medium;">十二月 15, 2012 8:22:38 上午 com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin  
警告: ConnectionID:10 Prelogin error: host HACKER-PC port 1433 Unexpected end of prelogin response after 0 bytes read  
十二月 15, 2012 8:22:38 上午 com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin  
警告: ConnectionID:15 Prelogin error: host HACKER-PC port 1433 Error reading prelogin response: Connection reset  
十二月 15, 2012 8:22:38 上午 com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin  
警告: ConnectionID:12 Prelogin error: host HACKER-PC port 1433 Error reading prelogin response: Connection reset  
</span>  
eclipse控制台不停的输出这个错误。
谷歌并没有找到解决方案。
猜测是spring或者是hibernate连接池的问题。就一直改,最后也没能解决。就要准备放弃的时候。发现,sql server 2008  management studio 无法用sa登陆了。
错误代号如下:18456
查阅msdn,找到这个错误的文档:http://msdn.microsoft.com/en-us/library/cc645917(v=SQL.100).aspx
里面提到了很多种情况,由于刚刚我还用sa成功登陆过,所以可能是密码过期了。修改密码试试。
用windows身份验证登录数据库引,展开【安全性】----【登录名】---双击【sa】。修改密码,并将强制实施密码策略前面的勾去掉(毕竟是开发机器,频繁更改密码很麻烦)。
再次用sa登录数据库引擎,成功。
 原文参考自站长网http://www.software8.co/shujuku/sqlserver/2789.html
再次运行项目,也成功启动。
ps:以后进行错误排查的时候,不能只关注某几个点,要有全局的概念。
     在你快要放弃的时候,也许在坚持一下下,就成功了。