На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> Как сделать базу данных Access сетевой ?
    значит так, есть база данных Access, приложение написанное на Delphi, хотелось бы при минимальных изменениях проги работать с одной базой нескольким пользователям одновременно по сети. Как это сделать, а тем более с чего начать я незнаю, подскажите кто знает !
      Положи базу данных в зашаренный каталог и работай - в простейшем случае никаких изменений делать не надо.
        а по другому ни как нельзя ?  чтоб трафик сильно не жрала програмулина ?
          можно :) пишешь свой сервер БД, который крутится на сервере, обращается к локальной БД Аксесс, и все клиенты работают через твой сервер :) можешь еще и стандарты ODBC соблюсти, и свой драйверок накатать :) Страшно?  ;) Правильно! Нафига это все надо, если есть нормальные СУБД типа SQL Server?! так что либо сделай, как советовал Vit (долгое время люди только так и работали, да еще и на 10Мбит :)), либо меняй БД - Аксесс тебе не поможет  ;) ;D
            Дык всё просто - MS Access - это просто файл с данными. Чтобы что-то делать с данными, например выборку или выполнять запрос, нужен програмный код который будет это делать. Своего встроенного програмного кода у mdb файла нет, только тот  что ты напишешь и код драйвера, который выполняется на той машине, что и твоя программа. Если код на одной машине, а данные на другой, то для работы с данными их надо перекачивать по сети. Выход - часть кода должна работать там где данные - эта часть называется сервером. MS Access собственного сервера не имет, значит выходов 2:

            1) Пишем свой сервер, в принципе это не очень сложно, примерно 2-4 недели работы для программиста среднего уровня, тем более что есть хорошо отработанные технологии для таких вещей: DCOM, CORBA, MIDAS и т.п. Обеспечить механизм транзакций и блокировок, т.е. приклепать к нему транзакционный сервер в принципе не очень сложно, и по моему опыту занимает примерно 1-2 недели. А вот отладить сервер, сделать его стабильным и работающим во всех случаях требует хорошего опыта и обычно примерно 2-3 месяца работы. В целом такой проект примерно на пол-года, ну чтобы сделать так чтобы ничего не падало от малейшего чиха. В общем делать так можно, и даже нужно, но обычно это подход для бизнес-проектов средних и больших размеров, например пакет програм для обеспечения работы небольшой корпорации - примерно на 1000 рабочих станций - там разграничиваем бизнес логику и GUI, делаем ограничения доступа к данным,  защиту данных, синхронизацию многочисленных серверов баз данных в разных городах и т.п. В принципе, то что я описал - это минимальный проект в котором стоит идти таким путём. Да совсем забыл - это называется multi-tier программированием.

            2) Не занимаемся фигнёй, берём один из многочисленных серверов баз данных и переводим на него Ваш продукт в течение ближайшего часа.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0222 ]   [ 15 queries used ]   [ Generated: 27.04.24, 09:04 GMT ]