SP_A
является хранимой процедурой, которая вызывает SP_B
, затем делает SELECT, а затем ОБНОВЛЯЕТ те же записи/столбец, что SP_B
только что ОБНОВЛЕНО. SP_A
имеет транзакцию вокруг операторов SELECT и UPDATE, за которыми следует COMMIT.Время хранимой процедуры хранимой процедуры MySQL при вызове с C#
Теперь все работает отлично, когда я вызываю SP_A
из командной строки MySQL. Однако, когда я называю это с C#, он разыгрывается каждый раз.
Странная вещь, если я изменю SP_A
так, чтобы он не вызывает SP_B
и из C# кода вызова SP_B
и затем SP_A
отдельно, она работает. Почему это?
Я все еще пытаюсь точно определить, в чем проблема. Это может быть:
- Вы не можете называть SP, который вызывает другую SP
- Вы не можете называть SP, который вызывает другую SP, который обновляет те же записи, как вызываемая сторона ОБНОВЛЕНИЕ
- Вы можете» т сделать выше, когда есть сделка участие
И помните, проблема появляется только при запуске из C# с помощью MySqlCommand
Примечание:
MySql.Data v2.0.50727
MySQL Connector Net 6.2.2
драйвер ADO.Net для MySQL
.NET Framework 4
Как * long * требуется ли из командной строки MySql? Если это займет некоторое время (> 30 секунд), тогда будет зачислен тайм-аут команды по умолчанию из ADO.Net. –
Меньше секунды – colithium