"Dmitry Lendel" ...

"Dmitry Lendel" ...
Привет
Столкнулся с такой проблемой
Есть сеть. В несколько компьютеров.
Есть транзакция с параметром Lock write
Ситуация такая. Одни из пользователей запускает такую транзакцию, другой
лезет менять что-то. Обычно выкидывает Lock conflict, а тут компьютер
уходит в ступор.

   Там после lock conflict есть ещё буквы в сообщении.

Обычно что-то вроде этого см картинку

   Вот нафига тут картинки ???

Запускается холостой update c параметрами
read_committed
rec_version
lock_write=REMAINDER
nowait

   Это параметры тр-ции, а не апдейта.

Программа по коду ошибки определяет что случилось пример
if ErrorValue.IBErrorCode=335544345 then ErrorValue.Message:='Другой
пользователь редактирует документ.';

Если код не тот. то пользователь видит оригинальное сообщение сервера
В данном случае, вообще ничего не приходит и висит (или ждет чего-то)

   Значит у тр-ции НЕТ опции nowait. Смотри в мониторинг и\или в трейс.
Выясняй что у тебя висит - старт тр-ции или сам апдейт. Если первое -
проверяй параметры тр-ции. Если второе - проверяй параметры той тр-ции,
в которой выполняется апдейт, а не той, на которую ты думаешь.

   Либо давай воспроизводимый пример.

--
Хорсун Влад

Ответить