.NET连接SQLServer返回数据时提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应。” 附代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET连接SQLServer返回数据时提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应。” 附代码相关的知识,希望对你有一定的参考价值。
对于这个问题的解决办法我到是知道,我只是想知道发生错误的原因。
补充一下:
1.这个问题偶尔会出现,多数情况下很少提示上面的错误。
2.sql 代码 执行的也是很快的,而且查询数据的返回结果也不是很多。
3.sql 存储过程部分查询代码如下
Select
PId,
PName,
-1- Count(Id) As Num,
-1- Sum(SalePrice) As SalePrice,
-1- Sum(CostPrice) As CostPrice
-2- 10 As Num,
-2- 11.00 As SalePrice,
-2- 12.00 As CostPrice
From Project
--------------------------------------------------------
当我使用 -1- 的代码时候,就容易出现错误,当使用-2-的代码替换时,就没有这个错误了。
以下是我猜测的错误:
例如:
1.是否是我的代码出现问题?
2.网络原因?[因为连接的数据库在服务器上]
3.返回的数据量太大?[但实际仅有 20条记录而已]
***************************************
1.是否是我的代码出现问题?
是指 我的 .net代码 写的有问题!
*百度知道 是不是 不稳定啊**我明明收到网友的回复了,但是一进来还是什么都没有???*
//////////////////////////////////////////////
解决办法:
我之前是通过 调用存储过程的,后来干脆放弃使用存储过程,而是把sql代码直接写在了程序页面,然后这个问题就消失了。
原因我解释 不清楚。 同时还要非常感谢 bluewater_52d1、s529586 和 各位朋友的热心帮助。
解决方法就是把项目配置文件中的访问超时时间设置长一些.
我遇到这个问题时是因为我的项目发布在虚拟机上,所以速度比较慢,访问总是超时,去试试吧,这个方法或许能解决你的问题.
不行的话就在代码上设置command的timeout时间. 参考技术A 是你的SQL语句有问题 Select
PId,
PName,
-1- Count(Id) As Num,
-1- Sum(SalePrice) As SalePrice,
-1- Sum(CostPrice) As CostPrice
聚合函数不能很单个字段同时使用或者在后面加一个group by PId,PName,Id,SalePrice,CostPrice 参考技术B 能不能把数据库放在本地测试一下
查看一下sql server数据库连接数追问
SqlServer 服务器 是在局域网上的,只是IP段不同,数据挺大的,弄到本地机器上不是很方便啊。
挂到IIs 上了之后,在局域网访问 还是出现这个错误,其实 我们那个服务器也就是能做个服务器用,都不如不同的家用电脑。
哎……
检查sql 是否死锁
java项目页面为啥会超时?
页面超时会弹出超时提示,但是为什么会超时呢?
是客户端没有想服务器发起请求?还是页面没有和数据库发起数据交互?或者其他的原因。
求热心的码神解答。
同时数据库连接也会超时的问题,这个就跟数据库连接池有关系了
举个简单例子,你登陆网上银行,一段时间不操作,就会超时不能发起请求了,必须重新登陆才行追问
您的意思是,项目设置了超时时间30分钟,30分钟之内页面没有向‘服务器’发起请求就算超时。
而不是页面没有向’数据库‘发起请求?
您的例子‘登陆网上银行’,页面跳转属于向服务器发起请求吗?
直白点讲,只要你是点击网页的任何链接,提交的任何表单,都是想服务器发送请求
如果你在服务器设置的超时时间内没有发起以上方式的任何请求,那么就会超时
客户端一般来讲是不会直接操作数据库的
客户端(浏览器)------>服务器-------->数据库
一般中间件 例如:Tomcat 的session会话时间为30分钟 如果你不进行操作 会自动释放掉.
如果想不超时 只要修改配置就可以.追问
我设置的是30分钟。
我的意思是这样的,30分钟之内,不进行什么操作才会释放session?
是不点击页面?还是不发起请求?还是不查询数据?
你所说的 点击页面 查询数据库 其实都归于发送请求.当前session就会处于空闲状态.就会释放掉.
说白了点 就是你开启系统之后,不发送任何请求.
以上是关于.NET连接SQLServer返回数据时提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应。” 附代码的主要内容,如果未能解决你的问题,请参考以下文章
Connection Timeout和Command Timeout
sqlserver远程连接中链接服务器"”的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期问题