SP_A
是一个调用SP_B
的存储过程,然后执行SELECT,然后更新SP_B
刚刚更新的相同记录/列。 SP_A
在SELECT和UPDATE语句周围有一个TRANSACTION,后跟一个COMMIT。
现在,当我从MySQL命令提示符调用SP_A
时,一切正常。但是,当我从C#调用它时,它每次都会超时。
奇怪的是,如果我更改SP_A
以便它不会调用SP_B
,而是从C#代码调用SP_B
再调用SP_A
,则可以。这是为什么?
我仍在努力确切地确定问题所在。它可能是:
请记住,只有在使用MySqlCommand
从C#运行时才会出现此问题
注意:
MySql.Data v2.0.50727
MySQL Connector Net 6.2.2
适用于MySQL的ADO.Net驱动程序
.NET Framework 4
答案 0 :(得分:2)
听起来CommandTimeout是问题 - >当“长”查询发生时,.NET Connector将超时。增加CommandTimeout阈值应该允许查询/过程工作。
注意:超时以秒为单位。