Record locked by anoder user

8 отговора 566 прегледа
#1

Record locked by anoder user

Имам проблемс BDE. Става дума за една складова програма, която работи в мрежа. От време на време ми се появява съобщение Record locked by anoder user и програмата увисва. Някой може ли да ми помогне. Благодаря предварително!

Отговор
в отговор на scoco #2

Re: Record locked by anoder user

Ама твърде много подробности си дал, човек да се чуди отде да почне
Вземи напиши каква база данни ползваш, какви са настройките за връзка към базата, направи тест от два компа да обработваш (четеш, пишеш) един запис за да ти се изясни при каква операция я дава тази грешка и т.н.
Често в процеса на описване на грешката човек сам си я решава, тук има доста такива случаи... Не че няма желаещи да помагат.

чети и дишай по-леко
Отговор
в отговор на Pechenia #3

Re: Record locked by anoder user

Значи базата която използвам е Paradox. Установих че проблема се появява при едновременно настъпаване на един и същи запис и от двата потребителя (когато при едния се изпълни метода table1.edit, то при другия за показва посоченото по-горе съобщение). Сега въпроса ми е как да избегна това. Или да мина на друга база данни- InerBase или MySQL

Отговор
в отговор на SCOCO #4

Re: Record locked by anoder user

По принцип аз не съм се занимавал с Paradox и BDE, но си направих труда да ти изровя пример как се проверява за заключен запис:
[линк]

чети и дишай по-леко
Отговор
в отговор на SCOCO #5

Re: Record locked by anoder user

По всяка вероятност не си конфигурирал всички клиенти да използват един файл PDOXUSRS.NET. Задава се един и същи път до директорията, където ще се създава този файл за всички клиенти, които работят с тази БД.
От BDE администратора мини на таба Configuraton ->Drivers->Native->Paradox->NET DIR.
Ако горното е изпълнено за всички клиенти би трябвало да ти се генерира изключение при опит да се редактира запис, редактиран от друг.

Тук [линк] е описано в подробности механизма на заключване на записи в Paradox

Отговор
в отговор на Veso #6

Re: Record locked by anoder user

Благодаря ви за помоща

Отговор
в отговор на SCOCO #7

ВНИМАНИЕ

Първо за да не ти заключва таблицата не трябва да я отваряш exlusive. Второ записа не случайно ти се заключва, може да имаш проблеми и то големи при едновременно постване или радактиране, а именно загуба на данни. Трето - използвай транзакции. Последно - с Paradox-а в мрежа ще си имаш неприятности, по добре мини на InerBase!

Отговор
в отговор на r4ndOm #8

Re: ВНИМАНИЕ

Може ли малко повече инфо за транзакцийте?

Отговор
в отговор на scoco #9

Re: Record locked by anoder user

Всъщност мисля да мина на MySQL някой има ли отзиви?

Отговор