как я могу безопасно прервать/отменить текущий запрос/транзакцию. использование gfix -shut может повредить базу данных. я использую delphi и firebird 2.5
Заранее спасибо Рейнальди
как я могу безопасно прервать/отменить текущий запрос/транзакцию. использование gfix -shut может повредить базу данных. я использую delphi и firebird 2.5
Заранее спасибо Рейнальди
Gfix не может повредить базу данных. Он использует безопасное завершение запущенных запросов и откатывает все активные транзакции.
Вы можете отменить данный запрос, выполнив DELETE FROM MON$STATEMENTS WHERE MON$STATEMENT_ID = ...
Вы можете закрыть все вложение, выполнив DELETE FROM MON$CONNECTIONS WHERE CONNECTION_ID = ...
Все запросы должны выполняться из параллельного вложения.
Помимо ответа, предоставленного Андреем, API Firebird 2.5 также включает команду fb_cancel_operation
, которая отменяет все запущенные действия над дескриптором базы данных. Вам нужно будет проверить, поддерживает ли ваш компонент Delphi это.