Хранимая процедура и тайм-аут
-
09-06-2019 - |
Вопрос
Я запускаю длинную хранимую процедуру процесса.
Мне интересно, произойдет ли тайм-аут или любой случай отключения от базы данных после инициирования вызова хранимой процедуры.Он все еще работает и внедряет изменения на сервере?
Решение
В любом случае, если клиент не может зафиксировать изменения в конце задания, изменения должны быть отменены сервером.
Другими словами, если у вас есть хранимая процедура, вносящая изменения в базу данных, и существует вероятность того, что соединение может прерваться в середине, обязательно заключайте все изменения в транзакцию.
Другие советы
Это зависит от сервера, я думаю.
Я знаю, что Firebird обнаружит отключенных клиентов и перестанет работать.
В любом случае, если клиент не может зафиксировать изменения в конце задания, изменения должны быть отменены сервером.
Я бы предложил запустить ваш профилировщик в базе данных и наблюдать за активностью, а также создать базовый тестовый пример, чтобы вы точно знали, что происходит.Результат зависит от вашей базы данных и того, что вы используете для подключения к ней.