FB 1.5.3, lock conflict при коннекте

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

FB 1.5.3, lock conflict при коннекте

Сообщение Кузнецов Евгений » 21 янв 2007, 23:31

Доброго времени суток!

Хочу рассказать о стуке в моем подвале.

Win 2kSp4, FB 1.5.3 CS, 1-й диалект, на клиенте родной gds32.dll
(есть другие gds32.dll, есть - но лежат по путям, отсутствующим в PATH
и не рядом с запущенными в тот момент программами).
На сервере вертится также IB 4, но к проблеме отношения не имеет (висит на другом
порту).

При подключении через SQL-Explorer (BDE 5.1.1) в момент соединения с БД получил ошибку
"lock conflict on no wait transaction".
Закрыл соединение, при повторных открытиях вопроизвести ошибку не удалось.
Запустил SQL-Monitor и подсоединился к БД еще раз - очень удивился - в логе отображается
только сообщение Log started for: SQL Explorer, т.е. даже не было старта неявной
транзакции.

Параллельно были подключения из Database Desktop и IBExpert (я единственный, кто
подключается к данной БД).

БД находится в процессе разработки, постоянно меняются как данные, так и метаданные.
Но на момент соединения изменения метаданных вроде бы не производилось (хотя уже
не уверен, ибо очень спешил).

Наблюдал однажды такую ошибку при попытке подключения из второго экземпляра IBExpert к той же БД
(в первом экземпляре была вызвана долгоиграющая ХП), но списал все на глюки IBExpert (он
у меня старый, 2004 года).

Ошибку воспроизвести, естественно, не могу. В настоящее время задача носит абстрактный
характер, но не хотелось бы наступать на грабли в будущем.

БД проверял gfix'ом, ничего не нашел. Предоставить ее не имею возможности, тем паче
что метаданные с момента наблюдения уже неоднократно менялись.

Кто-нибудь слышал подобный стук?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 янв 2007, 10:23

Кто-нибудь слышал подобный стук?
это вроде одновременного коннекта как к c:\db\a.gdb и c:db\a.gdb. Тщательнее путь к БД писать надо.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 22 янв 2007, 10:44

Добрый день!

Забыл упомянуть: доступ к БД - только через алиасы (server/3070:base)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 янв 2007, 11:46

тогда х.з.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 22 янв 2007, 21:02

Имхо просто на клиенте не полностью разобран стек ошибки BDE. При неверно введённом пароле частенько выдаётся вот такая борода:

Statement failed, SQLCODE = -901
lock conflict on no wait transaction
-Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 23 янв 2007, 09:02

Доброго времени суток!
Merlin писал(а):Statement failed, SQLCODE = -901
lock conflict on no wait transaction
-Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Вы правы. Ошибка даже отображается полностью, но я как прочитал lock conflict
и не увидел дальше знакомых слов unsuccesful update object :)
- сразу же начал копать, где у меня конфликт (каюсь, очень торопился).

Спасибо!

P.S. Интересно, это баг или особенность реализации?

Ответить