2011-07-02 196 views
0

MySql.Data.MySqlClient.MySqlException: 执行命令 时遇到致命错误。 ---> MySql.Data.MySqlClient.MySqlException: 超时过期。在完成 操作或服务器不是 响应之前已经过去了超时期限 。在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(的CommandBehavior 行为)---内部异常结束 堆栈跟踪导致超时的致命错误-mysql

这个错误是什么意思?连接字符串中的最大连接池数= 200?我的应用程序是在.net连接MySQL数据库的Web应用程序。

+0

也许服务器没有响应? –

回答

1

连接池并不是解决此问题的答案。连接池允许多个连接到服务器,然后再循环以避免重新建立连接。建立和重建连接在时间和计算资源上可能非常昂贵。

您正在寻找的是增加命令超时。这可以通过两种方式之一完成。在连接字符串中,通过指定default command timeout或通过将值分配给MySqlCommand上的CommandTimeout属性。

+0

谢谢,除了1之外,建议的值是多少?什么可能引发这种情况发生? – Sharpeye500

+0

看起来像我的初始链接到连接字符串参数没有采取。我自从编辑它。我建议你从30秒开始超时并从那里开始工作。分析您的查询以获得最佳时间。 – villecoder