当访问一个页面是出现
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
此时表示数据库访问超时,可能此时在执行一个很费时的SQL 操作,而无法在相应时间内给予回复。
关于引起Timeout,比较常见的有可能是因为SqlConnection.ConnectionTimeout引起,或者Connection打开后没有关闭。
在这里还有另一个很有可能,就是你没有设置你的SqlCommand.CommandTimeout。
SqlCommand.CommandTimeout:
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时间(以秒为单位)。默认为 30 秒。
如果设置值 0 ,表示无限制,在CommandTimeout中应避免值 0,否则会无限期地等待执行命令。
另外出现此时错误的原因也有可能是数据库地址错误照成无法连接,此时应当检查数据库连接的配置文件。
同时,对执行SQL语句超时的处理,我们应当尽可能的对数据库的存取过程进行优化,并在读取页面做相应的分页处理等,以避免数据库操作相应时间的超时错误。
关于数据库的优化,之前的博文里已有基本优化方案,更多的方案后续会另外开篇。
本篇到此,谢谢关注。
BeiTown
2013.07.03
本文链接:关于数据库Timeout expired...server is not responding的解决方案
转载声明:BeiTown原创,转载请注明来源:BeiTown's Coder 编码之源,谢谢
Tags: Timeout expired, 数据库, 超时