Record locked by anoder user
8 отговора
566 прегледа
Record locked by anoder user
Имам проблемс BDE. Става дума за една складова програма, която работи в мрежа. От време на време ми се появява съобщение Record locked by anoder user и програмата увисва. Някой може ли да ми помогне. Благодаря предварително!
Re: Record locked by anoder user
Ама твърде много подробности си дал, човек да се чуди отде да почне
Вземи напиши каква база данни ползваш, какви са настройките за връзка към базата, направи тест от два компа да обработваш (четеш, пишеш) един запис за да ти се изясни при каква операция я дава тази грешка и т.н.
Често в процеса на описване на грешката човек сам си я решава, тук има доста такива случаи... Не че няма желаещи да помагат.
чети и дишай по-леко
Вземи напиши каква база данни ползваш, какви са настройките за връзка към базата, направи тест от два компа да обработваш (четеш, пишеш) един запис за да ти се изясни при каква операция я дава тази грешка и т.н.
Често в процеса на описване на грешката човек сам си я решава, тук има доста такива случаи... Не че няма желаещи да помагат.
чети и дишай по-леко
Re: Record locked by anoder user
Значи базата която използвам е Paradox. Установих че проблема се появява при едновременно настъпаване на един и същи запис и от двата потребителя (когато при едния се изпълни метода table1.edit, то при другия за показва посоченото по-горе съобщение). Сега въпроса ми е как да избегна това. Или да мина на друга база данни- InerBase или MySQL
Re: Record locked by anoder user
По принцип аз не съм се занимавал с Paradox и BDE, но си направих труда да ти изровя пример как се проверява за заключен запис:
[линк]
чети и дишай по-леко
[линк]
чети и дишай по-леко
Re: Record locked by anoder user
По всяка вероятност не си конфигурирал всички клиенти да използват един файл PDOXUSRS.NET. Задава се един и същи път до директорията, където ще се създава този файл за всички клиенти, които работят с тази БД.
От BDE администратора мини на таба Configuraton ->Drivers->Native->Paradox->NET DIR.
Ако горното е изпълнено за всички клиенти би трябвало да ти се генерира изключение при опит да се редактира запис, редактиран от друг.
Тук [линк] е описано в подробности механизма на заключване на записи в Paradox
От BDE администратора мини на таба Configuraton ->Drivers->Native->Paradox->NET DIR.
Ако горното е изпълнено за всички клиенти би трябвало да ти се генерира изключение при опит да се редактира запис, редактиран от друг.
Тук [линк] е описано в подробности механизма на заключване на записи в Paradox
ВНИМАНИЕ
Първо за да не ти заключва таблицата не трябва да я отваряш exlusive. Второ записа не случайно ти се заключва, може да имаш проблеми и то големи
при едновременно постване или радактиране, а именно загуба на данни. Трето - използвай транзакции. Последно - с Paradox-а в мрежа ще си имаш неприятности, по добре мини на InerBase!
Re: Record locked by anoder user
Всъщност мисля да мина на MySQL някой има ли отзиви?