views:

21

answers:

0

SP_A is a stored procedure that calls SP_B, then does a SELECT, and then UPDATES the same records/column that SP_B just UPDATED. SP_A has a TRANSACTION around the SELECT and UPDATE statements followed by a COMMIT.

Now, everything works perfectly when I call SP_A from a MySQL command prompt. However, when I call it from C#, it times out every single time.

The strange thing is, if I change SP_A so that it doesn't call SP_B and from the C# code call SP_B and then SP_A separately, it works. Why is this?

I'm still trying to pin down exactly what the issue is. It could be:

  • You can't call a SP that calls another SP
  • You can't call a SP that calls another SP that UPDATES the same records as the callee UPDATES
  • You can't do that above when there's a transaction involved

And remember, the problem ONLY appears when running it from C# using MySqlCommand



Note:
MySql.Data v2.0.50727
MySQL Connector Net 6.2.2
ADO.Net driver for MySQL
.NET Framework 4