最近,我的网络应用程序中的特定页面抛出了
异常详细信息:MySql.Data.MySqlClient.MySqlException:超时 已到期。超时时间在完成之前已过 操作或服务器没有响应。
虽然我使用Ibtais作为持久层,但还是出现这个错误。我已经重新启动了 MySql 服务实例,但仍然遇到相同的错误。这种情况不是以前发生过,而是最近经常发生。
服务器上部署的所有Web应用程序都使用Ibatis,DB服务器保留在安装IIS的同一台机器上。大约有 8000 条记录,其中大约 300 到 500 条会在页面加载时被过滤
对于问题的原因有什么见解吗?
我遇到了和你一样的问题,我发现了这个MySQLConnection--Specifying default command timeout。
只需将“default command timeout=xxx”添加到你的connectString中,该键的值以秒为单位。
我尝试过,它对我有用。
您可以将命令超时设置为 0,但这不是一个好主意。有些请求可能会无限期地持续下去。
首先存在一个导致查询超时的潜在问题。您是否正在插入、更新或以任何方式处理会锁定表的大型二进制值?这是我在如此少量的数据上看到的此类错误的最常见原因。
让你的连接字符串看起来像这样:
DotNet 框架:
<add key="MYSQL_CONNECTION_STRING_RDS" value="Uid=userid;Password=pass;
Server=localhost;Port=3306;
Database=dbname;default command timeout=0;SslMode=none"
/>
DotNet 核心
"MYSQL_CONNECTION_STRING_RDS": {
"ConnectionString": "Server=localhost;Database=dbname;user=userid;password=pass;default command timeout=0;",
"ServerVersion": "8.0.22"
}
我也遇到了这个错误!
而是使用 Mysql 作为数据库,使用 Sql-server
如果超时对您不起作用,它应该可以解决您的问题