Зависшая транзакция

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
Sonia
Сообщения: 1
Зарегистрирован: 13 янв 2011, 12:27

Зависшая транзакция

Сообщение Sonia » 13 янв 2011, 12:33

Добрый день!
Очень нужна помощь! СУБД: FB 2.0. При открытом документе к клиентском приложении произошел сбой и клиентское приложение было убито через диспетчер задач. Теперь документ нельзя изменить: на запрос в процедуре:

Код: Выделить всё

BEGIN

    cnt_db_key = NULL; cid = NULL;
    SELECT rdb$db_key, cid, cnum1, cnum2, cnum3, cnum4, cnum5, /* cnum6, */ cnum7, cnum8, cnum9, cnum10, cnum11, cnum12
      FROM cnt
      WHERE cid1 = :root_cid AND cconcept = :cconcept AND cid2 = :cid2 AND cid3 = :cid3 AND cid4 = :cid4 AND cid5 = :cid5 AND cid6 = :cid6
      PLAN (cnt INDEX (cnt_1c))
      FOR UPDATE WITH LOCK
      INTO :cnt_db_key, :cid, :cnt_cnum1, :cnt_cnum2, :cnt_cnum3, :cnt_cnum4, :cnt_cnum5, /* :cnt_cnum6, */ :cnt_cnum7, :cnt_cnum8, :cnt_cnum9, :cnt_cnum10, :cnt_cnum11, :cnt_cnum12;

    WHEN ANY DO
    BEGIN
      cid = NULL; result = 1; msg = 'Попытка совместного доступа при внесении изменений [CNT_24004]. Повторите действие.';
    END

    END
пишет соответственно вот это сообщение и не дает провести документ.

Насколько я понимаю: осталась активной транзакция. Как ее найти и принудительно завершить?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Зависшая транзакция

Сообщение Dimitry Sibiryakov » 13 янв 2011, 14:38

В точности так, как тебе сказали на sql.ru. Включая ссылку на статью по настройке KEEPALIVE, которую ты не могла пропустить если бы начала чтение ibase.ru с документации вместо форума.

Ответить