首页 > 其他 > 详细

[bug]Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

时间:2015-07-29 20:59:01      阅读:367      评论:0      收藏:0      [点我收藏+]

写在前面

在mysql中这个异常是非常常见的,超时分为连接超时和执行超时,而连接超时,大部分原因是网络问题,或客户端到服务端的端口问题造成。

bug场景

有的时候,使用MySqlDataReader在读取数据的时候,datareader的特性是在在线读取,而且是一条一条往下读,也就是只进式读取。如果数据非常多,就会造成超时的问题。

这种超时是执行超时引起的。

SqlCommand.CommandTimeout

获取或设置在终止执行命令的尝试并生成错误之前的等待时间。

等待命令执行的时间(以秒为单位)。默认为 30 秒。

SqlConnection.ConnectionTimeout

获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。

等待连接打开的时间(以秒为单位)。默认值为 15 秒。

解决办法,要么换种ExecuteDataTable或者修改执行超时时间。

[bug]Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

原文:http://www.cnblogs.com/wolf-sun/p/4687227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!