15

最近,我的网络应用程序中的特定页面抛出

异常详细信息:MySql.Data.MySqlClient.MySqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。

虽然我使用 Ibtais 作为持久层,但还是会出现这个错误。我已经重新启动了 MySql 服务实例,但仍然出现同样的错误。以前没有发生,但最近经常发生。

部署在服务器上的所有 Web 应用程序都使用 Ibatis,并且 DB 服务器保持在安装 IIS 的同一台机器上。大约有 8000 条记录,其中大约 300 到 500 条将在页面加载时被过滤

对问题原因的任何见解?

4

3 回答 3

25

我遇到了同样的问题,我发现了这个MySQLConnection--Specifying default command timeout

只需将“默认命令超时=xxx”添加到您的连接字符串中,此键的值以秒为单位。
我试过了,它对我有用。

于 2013-07-17T09:58:54.787 回答
2

您可以将命令超时设置为 0,但这不是一个好主意。有些请求可能会无限期地继续下去。

有一个潜在的问题导致查询首先超时。您是否在插入、更新或以任何方式使用会锁定表的大型二进制值?这是我在如此少量的数据上看到这样的错误的最常见原因。

于 2012-07-06T00:02:49.573 回答
0

使您的连接字符串如下所示:

点网框架:

<add key="MYSQL_CONNECTION_STRING_RDS" value="Uid=userid;Password=pass;
     Server=localhost;Port=3306;
     Database=dbname;default command timeout=0;SslMode=none" 
/>

点网核心

"MYSQL_CONNECTION_STRING_RDS": {
    "ConnectionString": "Server=localhost;Database=dbname;user=userid;password=pass;default command timeout=0;",
    "ServerVersion": "8.0.22"
  }
于 2021-10-20T13:53:44.047 回答