MySql 长时间读数据发生超时的异常 Mysql Reader Exception TimeOut expired

15 篇文章 0 订阅
9 篇文章 0 订阅

mysql

connector: .net

var r = cmd.ExecuteReader()

r.Reader()   // <--长时间不停调用

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


解决办法有2个


1. 写ConnectString:

server=127.0.0.1;User Id=reader;database=uni_chn_f_cffex_if_201005_r;Allow User Variables=True;pooling=True;Connect Timeout=3;Default Command Timeout=10


Connect Timeout = 3 表示连接数据库3秒超时

Default Command Timeout = 10 表示 Command的执行时间为10秒,之后超时


所以根据需要设置这个 Default Command Timeout 


2. 设置 

command.CommandTimeout = int.MaxValue;

注意,此设置必须在 cmd.ExecuteReader() 这条语句的前面

否则是无效的!


   来源:http://stackoverflow.com/questions/4315701/c-sharp-mysql-connection-timeout-on-query-on-large-table

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Smbj是一个用于访问SMB(Server Message Block)协议的Java库,用于与文件共享和打印机共享进行交互。SmbRuntimeException是Smbj库中的一个异常类,用于表示在SMB连接过程中发生异常情况。 Timeout expired是指在指定的时间内无法完成所需的操作。当我们在使用Smbj库时出现SmbRuntimeException异常,并且异常信息显示timeout expired时,表示在与SMB服务器建立连接或执行某些操作时,超过了预定的时间限制,无法完成操作。 导致timeout expired异常的原因可以有多种: 1. 网络问题:可能是由于网络延迟或连接不稳定导致无法在规定的时间内与SMB服务器建立连接或执行操作。 2. 服务器负载高:SMB服务器的负载过高,无法及时响应请求,导致超时。 3. 防火墙设置:防火墙或安全设置可能会拦截SMB请求,导致连接超时。 要解决这个问题,我们可以尝试以下方法: 1. 检查网络连接:确保网络连接是稳定的,可以尝试使用其他网络环境进行测试,看是否能够解决问题。 2. 调整超时设置:可以尝试增加连接或操作的超时时间,以给予足够的时间来完成操作。 3. 优化服务器性能:如果是服务器负载过高导致的超时问题,可以尝试优化服务器的配置和性能,以改善响应速度。 4. 检查防火墙设置:确保防火墙或安全设置不会阻止SMB请求,可以尝试关闭防火墙进行测试。 总结起来,Smbj的SmbRuntimeException异常中的timeout expired表示在与SMB服务器建立连接或执行操作时超时发生。我们可以通过检查网络连接、调整超时设置、优化服务器性能和检查防火墙设置等方式来解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值