2012-11-20 14 views

ответ

4

Gfix не может привести к повреждению базы данных. Он использует безопасное завершение запущенных запросов и откатывает все активные транзакции.

Вы можете отменить данный запрос, выполнив DELETE FROM MON $ операторах ПН $ STATEMENT_ID = ...

Вы можете отключить всю прикрепление путем выполнения DELETE FROM MON $ СОЕДИНЕНИЙ ГДЕ CONNECTION_ID = ...

Все запросы должны запускаться из параллельного приложения.

+0

Я только что проверил тест, выполнив длинный запрос и запустив gfix, чтобы завершить работу базы данных. после того, как я вернул базу данных в сети, я запустил gfix validate и сообщил о коррупции. tommorow, я попытаюсь запустить еще один тест и опубликовать результат. – Reynaldi

+0

Как я могу получить значение statement_id или connection_id? Параллельно, вы имеете в виду открытие другого соединения? – Reynaldi

+0

Если это действительно искажает базу данных, сообщите об этом как об ошибке в http://tracker.firebirdsql.org/browse/CORE –

3

В дополнение к ответу, предоставленному Андреем, API Firebird 2.5 также включает в себя команду fb_cancel_operation, которая отменяет все выполняемые действия в дескрипторе базы данных. Вам нужно будет проверить, поддерживает ли ваш компонент Delphi.

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