sql 数据库连接超时

1.我是用Myeclipse+tomcat发布web项目2.连接的是SQL2005,能够用sa登陆,数据库没问题3.也在项目里面加载了QL2005Driver驱动,连接数... 1.我是用Myeclipse+tomcat 发布web 项目
2.连接的是SQL2005,能够用sa登陆,数据库没问题
3.也在项目里面加载了QL2005Driver驱动,连接数据库的代码没问题
4.用数据源JDBC连也是一样,连接超时。
5.控制栏报的错误是:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection timed out: 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 java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.newer.struts.dao.BaseDao.getConnection(BaseDao.java:16)
at com.newer.struts.dao.BaseDao.main(BaseDao.java:39)
还有TCP/IP也已开启了,配置也没问题
展开
 我来答
风风小圆酱
推荐于2016-01-29 · 知道合伙人情感行家
风风小圆酱
知道合伙人情感行家
采纳数:108 获赞数:14247
学生

向TA提问 私信TA
展开全部
原因分析:
查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。
另外,数据库的查询超时设置一般是sqlserver自己维护的(在你没有修缓友改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时,才会超时。
而造成超出估计值那么多的原因有两种可能:
一是估计时间不准确;
二是sql语句涉及到大量占模隐用内存的查询(如排序和哈希操作),内存不够,需要排队等待资源造成的。
解决办法:
A.优化语句,创建/使用合适的索引;
B.解决第一个问题的方法,更新要查询表的索引分发统计,保证估计时间的正确性,UPDATE STATISTICS 表名;
C.增加内存
如果想手动设置查询超时,可以使用以下语扰码槐句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO
秋梵桖枫em
2011-02-14 · TA获得超过1387个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:414万
展开全部
这肯定还是JDBC的问题了。因为你直毁迹枯接连接是可以的。证明服务端没有问题。
建议找一段简单的州衫连接mssql的代码,传到您的web空纤洞间,测试下效果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代做JAVA设计
2011-02-14 · 超过54用户采纳过TA的回答
知道答主
回答量:196
采纳率:0%
帮助的人:155万
展开全部
看一下是不是端口的问题.

确定TCP/IP有没有启动陪逗.

确定TCP端口对不对, 在TUTORIAL和SAMPLE里的都是1433端口, 可是我SQL SERVER的TCP接听端口是2159. 把程序里的1433改成1459就马上可以用了.

设置方法:
打开SQL SERVER CONFIGURATION MANAGER (不记得SQLEXPRESS版本有没有这个了, ENTERPRISE版本的备乱宏有), 左边窗口扩展SQL SERVER 2005 网络配置, 选择SQLEXPRESS 的协议(你的名字不一定是SQLEXPRESS), 右边窗口中双击TCP/IP, 弹出窗口中顶部TAB点"IP 地址"仿册, 看IPA11(或者是IPAll..看不出来是1还是l), 里面"TCP 动态端口"的值就是你的端口.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thaolong
2011-02-14
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
防火墙的问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wutian4567268
2011-02-14 · TA获得超过446个赞
知道小有建树答主
回答量:375
采纳率:50%
帮助的人:188万
展开全部
应该是配置有问题,检查一下数据库的url,usr,psw 是否都正确。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式