C# 从C调用MySQL存储过程时超时

C# 从C调用MySQL存储过程时超时,c#,mysql,stored-procedures,transactions,C#,Mysql,Stored Procedures,Transactions,SP_A是一个存储过程,它调用SP_B,然后进行选择,然后更新SP_B刚刚更新的记录/列。SP_A有一个围绕SELECT和UPDATE语句的事务,后面是COMMIT 现在,当我从MySQL命令提示符调用SP_A时,一切都很正常。然而,当我从C调用它时,它每次都超时 奇怪的是,如果我更改SP_A,使它不调用SP_B,然后从C代码分别调用SP_B和SP_A,它就会工作。为什么会这样 我仍在努力弄清到底是什么问题。它可以是: 不能调用调用另一个SP的SP 无法调用调用另一个SP的SP,该SP更新的记录

SP_A是一个存储过程,它调用SP_B,然后进行选择,然后更新SP_B刚刚更新的记录/列。SP_A有一个围绕SELECT和UPDATE语句的事务,后面是COMMIT

现在,当我从MySQL命令提示符调用SP_A时,一切都很正常。然而,当我从C调用它时,它每次都超时

奇怪的是,如果我更改SP_A,使它不调用SP_B,然后从C代码分别调用SP_B和SP_A,它就会工作。为什么会这样

我仍在努力弄清到底是什么问题。它可以是:

不能调用调用另一个SP的SP 无法调用调用另一个SP的SP,该SP更新的记录与被调用方更新的记录相同 当涉及到交易时,你不能这样做 请记住,只有在使用MySqlCommand从C运行它时才会出现问题

注: MySql.Data v2.0.50727 MySQL连接器网络6.2.2 MySQL的ADO.Net驱动程序 .NET Framework 4

听起来似乎是问题所在->当出现“长”查询时,.NET连接器将超时。增加阈值应允许查询/过程工作


注意:超时时间以秒为单位。

从MySql命令提示符开始需要多长时间?如果需要一段时间>30秒,则ADO.Net中的默认命令超时将生效。查询根本不需要很长时间即可执行。不到一秒钟