powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / С++Builder+ADO+mdb
8 сообщений из 8, страница 1 из 1
С++Builder+ADO+mdb
    #34589949
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На C++Builder пишу клиентскую часть для работы с файлом mdb. Для соединения с файлом базы данных использую средства ADO. Предполагается работа с базой данных в многопользовательском режиме (файл mdb лежит в сетевой папке). База данных маленькая, предполагается всего несколько пользователей. Для локального варианта со всем вроде бы разобрался. Но вот многопользовательский режим. Может кто-то уже делал подобное. Подскажите или дайте ссылку как правильно организовать работу для этого случая, какие механизмы лучше использовать? Например, если с одной таблицей работают сразу несколько пользователей, как правильно сделать обновление данных, чтобы пользователи видели у себя актуальные данные (кроме как разрывать соединение и заново соединяться ничего пока не нашел)?
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34589973
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdb слабо подходит для многопользовательской работы - почему бы вам не использовать MSDE ?
Тем более что в будущих ОС он будет компонентом системы.
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34591304
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за совет, буду думать. Но все же, есть хоть какие-то варианты с использованием mdb? Может кто-то это уже делал?
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34596211
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При подключении есть: Свойства ->Права доступа...

Из справки...
Выберите одно или несколько прав доступа.
Read—Только чтение.
ReadWrite—Чтение и запись.
Share Deny None—Никому не отказывать ни в чтении, ни в записи.
Share Deny Read—Запретить всем работу в режиме чтения.
Share Deny Write—Запретить всем работу в режиме записи.
Share Exclusive—Запретить всем работу в режиме чтения/записи.
Write—Только запись.

Вот этот режим должен дать многопользовательский режим доступа к БД:
Share Deny None—Никому не отказывать ни в чтении, ни в записи.


Лучше MSDE, а ещё лучше MSSQL Express, перегнать туда данные большого труда не составит.

Удачи.
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34620865
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо Alex_Toms за ответ, но имелось ввиду немного не то, попробую более конкретно.
Предположим, что у пользователей есть одновременный доступ на запись в таблицу. Теперь если у пользователя открыта ADOTable, то как сделать обновление данных в ней, чтобы в случае изменения данных другими пользователями, у пользователя обновлялась таблица?
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34620937
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждые dt смотреть обновления. Реализация ограничена лишь фантазией и степенью изврата
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34621453
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так сразу ничего не получится. Многопользовательская система значительно отличается от однопользоательской. Без транзакций не обойтись никак - поэтому надо MSDE или SqlExpress. Программу надо переписывать. И еще разобраться с блокировками, пессимистическими и оптимистическими(как минимум прочитать на этом прекрасном форуме, что это такое).
Если же не сделать - то в 95% случаев вся система отлично заработает, а в 5%, при одновременной работе с одной и той же записью начнутся серьёзные проблемы - в том числе и не правильные записи в базе. Так что как минимум на месяц работа будет
...
Рейтинг: 0 / 0
С++Builder+ADO+mdb
    #34621517
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй использовать тип курсора CursorType=ctDynamic, но имей в виду, что это самый дорогостоящий тип курсора с точки зрения ресурсов системы.
И ещё можно работать с базой через ADOQuery, работать можно на языке запросов, удобнее обрабатывать группу записей. ADOTable больше подходит для работы с одним пользователем и с ним могут быть проблемы с блокировками. Это я на всякий случай, с MDB может быть этого и не будет.

Удачи.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / С++Builder+ADO+mdb
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]