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


    写在前面

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

    bug场景

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

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

    SqlCommand.CommandTimeout

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

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

    SqlConnection.ConnectionTimeout

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

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

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

  • 相关阅读:
    2021广东省强网杯WriteUp
    2021 数字四川创新大赛WriteUp
    2021 陇剑杯wp
    2021 羊城杯WriteUP
    如何翻安全四大顶会的文章
    2021 祥云杯 wp
    codeql初探
    sqlmap应用
    sql注入2
    sql注入
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/4687227.html
Copyright © 2020-2023  润新知