2008-08-24 3 views
0

Я выполняю хранимую процедуру длительного процесса.Сохраненная процедура и таймаут

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

ответ

2

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

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

1

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

0

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

Смежные вопросы