您的位置:首页 > 理论基础 > 计算机网络

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

2009-12-27 14:33 996 查看
这是也是我第一次用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

这样就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐