Topic: Проблема при одновременной работе с двух ПК

Добрый день! Ситуация такова. Недавно принес на работу свой проект для тестирования. На сервере сохранил sqlite.db, а остальные файлы скопировал на два ПК, имеющих связь с сервером (политика компании запрещает иметь *.exe и *.dll на сервере). В приложениях указал путь к файлу БД на сервере. Запускается отлично, все работает, НО (!) ... невозможно запустить приложение на одном ПК, если такое же приложение открыто на другом ПК. В диспетчере задач процесс висит, но само приложение не открывается. Проблема критична, планируется запускать приложения максимум с 4 ПК, Прошу помощи!

Re: Проблема при одновременной работе с двух ПК

Приветствую,


приложение не открывается и нет каких либо сообщений об ошибке?


приложите пожалуйста ваш проект, постараюсь протестировать.

Dmitry.

Re: Проблема при одновременной работе с двух ПК

Сообщений об ошибке нет. Проект отправил вам по почте. Жду с нетерпением. Спасибо!

Re: Проблема при одновременной работе с двух ПК

В настройках общей папки не стоит ограничение на количество юзеров?

Re: Проблема при одновременной работе с двух ПК

vir2alex wrote:

В настройках общей папки не стоит ограничение на количество юзеров?

Нет, не стоит.

Re: Проблема при одновременной работе с двух ПК

Скинул бы тут свой проект. Я у ся на виртуалках за несколько мин прогнал бы. У меня так же или нет? Просто я свой проект попробовал, всё работает нормально. Может у тебя там в настройках компов чё-то не так.

Re: Проблема при одновременной работе с двух ПК

К сожалению объем большой, здесь выложить не могу. Я уже Дмитрию отписал, что и дома тестил с двух ПК - все тоже самое.

Re: Проблема при одновременной работе с двух ПК

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

Re: Проблема при одновременной работе с двух ПК

t169pe wrote:

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

Приложите пожалуйста ваш проект.

Dmitry.

Re: Проблема при одновременной работе с двух ПК

Дмитрий, скажите, проблема как-либо решается?

Re: Проблема при одновременной работе с двух ПК

Vitaly wrote:

Дмитрий, скажите, проблема как-либо решается?

Извиняюсь за задержку с ответом.


Протестировал ваш проект на двух компьютерах с одновременной работой, к сожалению повторить зависание не удалось, но проект работает все же медленно. В основном связанная со скриптом на событии OnChange компонента TableGrid5.


Попробуйте убрать событие

procedure Form1_TableGrid5_OnColumnResize (Sender: string; ACol: Integer);
begin
Form1_TableGrid5_OnChange ('');
end;

Также я заметил что в базе данных были сохранены файлы, видимо в начале вы использовали метод хранения файлов непосредсвенно в базе. Уменьшил базу данных до 1 мегабайта, надеюсь поможет, (отправил вам на email).


В целом могу порекомендовать перейти на клиент серверную СУБД MySQL.

Dmitry.

Re: Проблема при одновременной работе с двух ПК

Дмитрий, спасибо за подсказку по скорости загрузки! На днях попробую на других ПК потестить. На MySQL перейти не могу, как я понял там нужны настройки сервера, чего мне не дадут.

Re: Проблема при одновременной работе с двух ПК

Снова потестил свой проект. Определил в каком месте происходит "зависание" приложения (не открывалось, но висело в процессах) на втором ПК, в то время как одновременно на первом ПК приложение было открыто:

(select REPLACE(GROUP_CONCAT(DISTINCT Baza.KKS), ',', char(13))
FROM Baza WHERE Baza.id_BazaProgram = BazaProgram.id)

При удалении условия

WHERE Baza.id_BazaProgram = BazaProgram.id

проект начинал работать на обоих ПК одновременно. Два дня ломал голову как сохранить это необходимое мне условие.
Воспользовался программой SQLite Expert Personal 3. В ней почистил ранее сохраненные и забытые файлы в базе - как указал выше Дмитрий, вакуумировал и реиндексировал базу, выполнил проверку. И о чудо - проблема решена!
Так же скорость открытия приложения уменьшилась с 25 сек до 2 сек!!!
В чем именно были проблемы, я так и не понял, но вдруг кому поможет в трудных ситуациях.
Всем спасибо.