现在的位置: 首页 > 综合 > 正文

连接Sql2005报的错误:Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败

2013年08月12日 ⁄ 综合 ⁄ 共 2158字 ⁄ 字号 评论关闭

这是也是我第一次用sql2005,中间还是有很多知识不清楚,这是以后需要加强的,

我装好sql2005,并且保证数据库中有数据,且服务时启动着的,

我在MyEclipse中Tomcat6.0部署了自己的项目之后,运行显示一个form,报以下错误:

 

Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect)
 at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
 at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
 at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
 at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
 ... 36 more
Caused by: 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 org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
 at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
 at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
 at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
 ... 39 more

 

由上面可以轻而易举的就可以看到是数据库连接错误,

但是我确定这里驱动是没错的,而且数据库连接路径没错:

jdbc.url=jdbc:sqlserver://localhost:1433;databaseName=AIDataDemo

 

在网上找了资料,最后参考了这个帖子解决了这个问题:

http://topic.csdn.net/u/20080109/20/25914287-a1a6-42ef-a12d-ce213d406195.html

其中四楼的朋友说的,给我了启发,最后问题还是出在了TCP端口号的问题上,

上面的路径我是使用了1433这个端口号,我以后默认端口号就是1433呢,但是想当然了

 

方法:

打开SQL SERVER CONFIGURATION MANAGER (不记得SQLEXPRESS版本有没有这个了, ENTERPRISE版本的有),

左边窗口扩展SQL SERVER 2005 网络配置, 选择AIDATA 的协议(你的名字不一定是AIDATA ),

右边窗口中双击TCP/IP, 弹出窗口中顶部TAB点"IP 地址",

看IPA11(或者是IPAll..看不出来是1还是l), 里面"TCP 动态端口"的值就是你的端口.

 

 

上面就可以看到Sql2005,其实监听的1185端口,

所以:

jdbc.url=jdbc:sqlserver://localhost:1185;databaseName=AIDataDemo

这样就可以了

【上篇】
【下篇】

抱歉!评论已关闭.