Вопрос

Я запускаю длинную хранимую процедуру процесса.

Мне интересно, произойдет ли тайм-аут или любой случай отключения от базы данных после инициирования вызова хранимой процедуры.Он все еще работает и внедряет изменения на сервере?­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Это было полезно?

Решение

В любом случае, если клиент не может зафиксировать изменения в конце задания, изменения должны быть отменены сервером.

Другими словами, если у вас есть хранимая процедура, вносящая изменения в базу данных, и существует вероятность того, что соединение может прерваться в середине, обязательно заключайте все изменения в транзакцию.

Другие советы

Это зависит от сервера, я думаю.
Я знаю, что Firebird обнаружит отключенных клиентов и перестанет работать.
В любом случае, если клиент не может зафиксировать изменения в конце задания, изменения должны быть отменены сервером.

Я бы предложил запустить ваш профилировщик в базе данных и наблюдать за активностью, а также создать базовый тестовый пример, чтобы вы точно знали, что происходит.Результат зависит от вашей базы данных и того, что вы используете для подключения к ней.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top