Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.108.54] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
значит так, есть база данных Access, приложение написанное на Delphi, хотелось бы при минимальных изменениях проги работать с одной базой нескольким пользователям одновременно по сети. Как это сделать, а тем более с чего начать я незнаю, подскажите кто знает !
|
Сообщ.
#2
,
|
|
|
Положи базу данных в зашаренный каталог и работай - в простейшем случае никаких изменений делать не надо.
|
Сообщ.
#3
,
|
|
|
а по другому ни как нельзя ? чтоб трафик сильно не жрала програмулина ?
|
Сообщ.
#4
,
|
|
|
можно пишешь свой сервер БД, который крутится на сервере, обращается к локальной БД Аксесс, и все клиенты работают через твой сервер можешь еще и стандарты ODBC соблюсти, и свой драйверок накатать Страшно? ;) Правильно! Нафига это все надо, если есть нормальные СУБД типа SQL Server?! так что либо сделай, как советовал Vit (долгое время люди только так и работали, да еще и на 10Мбит ), либо меняй БД - Аксесс тебе не поможет ;) ;D
|
Сообщ.
#5
,
|
|
|
Дык всё просто - MS Access - это просто файл с данными. Чтобы что-то делать с данными, например выборку или выполнять запрос, нужен програмный код который будет это делать. Своего встроенного програмного кода у mdb файла нет, только тот что ты напишешь и код драйвера, который выполняется на той машине, что и твоя программа. Если код на одной машине, а данные на другой, то для работы с данными их надо перекачивать по сети. Выход - часть кода должна работать там где данные - эта часть называется сервером. MS Access собственного сервера не имет, значит выходов 2:
1) Пишем свой сервер, в принципе это не очень сложно, примерно 2-4 недели работы для программиста среднего уровня, тем более что есть хорошо отработанные технологии для таких вещей: DCOM, CORBA, MIDAS и т.п. Обеспечить механизм транзакций и блокировок, т.е. приклепать к нему транзакционный сервер в принципе не очень сложно, и по моему опыту занимает примерно 1-2 недели. А вот отладить сервер, сделать его стабильным и работающим во всех случаях требует хорошего опыта и обычно примерно 2-3 месяца работы. В целом такой проект примерно на пол-года, ну чтобы сделать так чтобы ничего не падало от малейшего чиха. В общем делать так можно, и даже нужно, но обычно это подход для бизнес-проектов средних и больших размеров, например пакет програм для обеспечения работы небольшой корпорации - примерно на 1000 рабочих станций - там разграничиваем бизнес логику и GUI, делаем ограничения доступа к данным, защиту данных, синхронизацию многочисленных серверов баз данных в разных городах и т.п. В принципе, то что я описал - это минимальный проект в котором стоит идти таким путём. Да совсем забыл - это называется multi-tier программированием. 2) Не занимаемся фигнёй, берём один из многочисленных серверов баз данных и переводим на него Ваш продукт в течение ближайшего часа. |