JAVA连接mssql2005失败
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
java连接SQL Server2005时出现数据库连接错误的日志如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:68)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:87)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.acquireResource(C3P0PooledConnectionPool.java:83)
at com.mchange.v2.resourcepool.BasicResourcePool.assimilateResource(BasicResourcePool.java:884)
at com.mchange.v2.resourcepool.BasicResourcePool.acquireUntil(BasicResourcePool.java:601)
at com.mchange.v2.resourcepool.BasicResourcePool.access$400(BasicResourcePool.java:31)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1079)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:354)
上述错误产生的原因有很多种,下面列举了我这几天碰到的三种情况及解决方案
1.SQL Server2005服务没有启动
2.SQL Server2005安装成本地模式
3.系统即安装了SQL Server2000又安装了SQL Server2005后生成了多个实例,或者多个实例的网络链接
第一个问题的解决方案就是打开SQL Server2005的“配置工具”–>“SQL Server Configuration Manager”中的SQL Server(***)服务启动。
第二个问题的解决方案就是打开SQL Server2005的“配置工具”–>“SQL Server Configuration Manager”–>“SQL Server 2005服务”中的SQL Server(***)服务的属性打开,将“登陆”页签中的内置账户改成“NetWork Service”,然后重新启动服务,那么通过网络IP就可以访问到数据库,而不是只有localhost或者127.0.0.1能访问到该数据库了
第三个问题需要查看TCP/IP协议的开放端口是否是你所连接的端口,因为sql Server2000安装完成后默认使用了1433端口,SQL Server2005 安装上可能会分配动态端口,需要给SQL Server2005或者给SQL Server2000的TCP/IP协议换一个可用端口。具体操作打开SQL Server2005的“配置工具”–>“SQL Server Configuration Manager”–>“SQL Server 2005网络配置”–>***的协议–>TCP/IP,右键属性找到“IP地址”页签换一个可连接的TCP端口。并用第二个问题的操作方法查看服务是否启成网络模式,操作完成后重新启动服务,然后更改连接字串的端口号重新启动java应用服务器。
原文:http://blog.ywxyn.com/index.php/archives/725