Организация коллективного доступа через Delphi 7 к dbf

Рейтинг: 1Ответов: 1Опубликовано: 17.12.2014

Здравствуйте, друзья.

Требуется помощь в вопросе, указанном в заголовке, если конкретно, то ситуация следующая: Лет так 5 назад была написана программа, которая осуществляет формирование электронных отчетов на основании данных со склада. Программисты не смогли организовать коллективный доступ к базам данных, так что создали 3 копии программы и 3 БД с разными названиями и одинаковым содержимым. При запуске программа сверяет все базы данных, актуализирует свою базу и дальше работает с ней. Всё бы ничего, и эти костыли прошли бы незамеченными, если бы не понадобилось сделать ещё несколько копий программы, а конкретно - 4, то есть организовать доступ с 7 компьютеров. Вот тут стал вопрос, что если раньше при запуске проводилось 3 проверки между базами данных, то теперь их будет 36, что скажется как на производительности, так и на степени актуальности данных.

Вопрос такой: есть ли сайт, на котором доступным языком изложено, как организовать коллективный доступ, желательно так, чтобы понял я, человек, который пишет на Delphi второй раз в жизни. И вообще, какие будут предложения по поводу этой работы, кроме вполне очевидного "прекратить насиловать труп"?

Ответы

▲ 1Принят

"Программисты не смогли организовать коллективный доступ к базам данных". Причем здесь программисты? Они же занимаются, извините, но других слов нет, онанизмом 5 лет!!! И осталось желание продолжать до бесконечности!

Что значит не могут? Задача для школьника - объединить 3+4 ПК в сеть.

  1. Только коллективный доступ (системный администратор).
  2. Переписать обработку, используя только SQL. На Delphi легко, используя ADO.
  3. Перенести таблицы c данными в БД, например, MS SQL Server.
  4. Заниматься делом.

Обновление

Как временная мера (до пятницы). Прописать в приложениях путь к таблицам на файл сервере. Не помню, есть ли на Clipper транзакции, но можно обойтись и блокировками, т.е., перед каждой командой, изменяющей данные, установить блокировку и снимать ее по завершению. Но это путь в никуда. Кстати, ODBC и OLEDB драйвера поддерживают SQL для DBF. Иначе я бы не писал об этом.