Arhn - архитектура программирования

Отменить длительный запрос или транзакцию в firebird

как я могу безопасно прервать/отменить текущий запрос/транзакцию. использование gfix -shut может повредить базу данных. я использую delphi и firebird 2.5

Заранее спасибо Рейнальди

20.11.2012

Ответы:


1

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

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

Вы можете закрыть все вложение, выполнив DELETE FROM MON$CONNECTIONS WHERE CONNECTION_ID = ...

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

20.11.2012
  • я только что провел тест, запустив длинный запрос и запустив gfix, чтобы закрыть базу данных. после того, как я вернул базу данных в оперативный режим, я запустил проверку gfix, и она сообщила о повреждении. завтра попробую еще раз проверить и отпишусь о результате. 20.11.2012
  • как я могу получить значение statement_id или connection_id? параллельно, вы имеете в виду открыть другое соединение? 20.11.2012
  • Если это действительно повреждает базу данных, сообщите об этом как об ошибке на tracker.firebirdsql.org/browse/CORE< /а> 20.11.2012
  • это ошибка, которую я получаю, запуская gfix -v -f. Номер ошибки страницы базы данных: 6147. Я тестировал 2 базы данных. 1 — это пустая база данных, которую я создал только для целей тестирования. эта база данных не сообщает об ошибке. но когда я тестирую с использованием производственной базы данных (> 200 МБ), он сообщает об ошибке 21.11.2012
  • Не могли бы вы указать ошибку по ссылке в моем предыдущем комментарии, с шагами воспроизведения и т. д. 21.11.2012
  • Я буду. Я просто проверю еще раз, чтобы убедиться, что это ошибка. Спасибо 23.11.2012

  • 2

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

    20.11.2012
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..