我指定了command_timeout 4秒钟。
但是当我运行应用程序时,该命令需要大约8-12秒才能超时。
我还在MySQL连接字符串中指定了连接超时,但没有运气
默认命令timeout = 4
适用于MsSqll和Oracle,但不适用于MySQL。
有没有办法指定超时?
我在https://forums.mysql.com/read.php?38,634568,634568找到了问题,但没有回答。
代码示例
...
DataTable outputNodes = new DataTable();
Stopwatch sw = new Stopwatch();
cmd.CommandTimeout = 4;
sw.Start();
var a = cmd.ExecuteReader();
sw.Stop();
ex_time = sw.Elapsed;
sw.Reset();
outputNodes.Load(a);
CloseConnection();
...
答案 0 :(得分:1)
这可能是Connector / NET中的一个错误。我遇到了CommandTimeout
的一些错误,例如bug 88124,bug 87307。我以为我甚至还记得提起一个关于MySqlCommand
在实际超时之前取{2} CommandTimeout
的错误报告(听起来像你的情况),但我现在找不到它(如果我真的发现了它)。
如果你有一致的repro,我建议在bugs.mysql.com提交一个错误。
如果您可以灵活地更改驱动程序,请尝试MySqlConnector,它具有更强大的CommandTimeout
实施。