C#MySQL命令超时

时间:2018-01-31 15:03:08

标签: c# mysql timeout

我指定了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();
...

1 个答案:

答案 0 :(得分:1)

这可能是Connector / NET中的一个错误。我遇到了CommandTimeout的一些错误,例如bug 88124bug 87307。我以为我甚至还记得提起一个关于MySqlCommand在实际超时之前取{2} CommandTimeout的错误报告(听起来像你的情况),但我现在找不到它(如果我真的发现了它)。

如果你有一致的repro,我建议在bugs.mysql.com提交一个错误。

如果您可以灵活地更改驱动程序,请尝试MySqlConnector,它具有更强大的CommandTimeout实施。