码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-29 21:01:30      阅读:453      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!