|
Вопрос # 209/ вопрос открыт / |
|
Здраствуйте, эксперты, подскажите какую базу данных, созданную под какой СУБД лучше использовать для работы с ней по сети. И почему при работе с IBDatabase если к базе подключено более 1 пользователя не позволяет добавить новую запись?
 |
Вопрос задал: Храмцов Денис (статус: 1-ый класс)
Вопрос отправлен: 22 декабря 2006, 14:47
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Нормально по сети будет работать например связка FireBird(можно и InterBase, и Yaffil) + FIB компоненты. В этих компонентах есть специальные средства для того, что бы можно было продолжать работать, если сеть падает кажые 5 минут. Тоесть для клиента это будет достаточно прозрачно. Данные будут отправлены при первой возможности. Также эти компоненты умеют "уменьшать" нагрузку на сеть - если вы обновили пару записей, то с сервера не будут тянуться все новые, а только обновлённые.
И почему при работе с IBDatabase если к базе подключено более 1 пользователя не позволяет добавить новую запись?
А наверное вы подключаетесь к базе в монопольном (эксклюзивном)режиме на запись. FIB точно позволяют отрегулировать этот вопрос и если вы понимаете что делаете, то получите достаточно продуктивную систему
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 22 декабря 2006, 15:17
Оценка за ответ: 4
|
Ответ #2. Отвечает эксперт: Alex Van Glukhman
Здравствуйте, *!
Какой компонент вы используете для получения данных TIBTable или TIBQuery. Если TIBTable - всё закономерно.
Ещё в Interbase существует понятие транзакции. Любой набор данных необходимо связывать с БД через компонент TIBTransaction. Причём при любом изменении данных в наборе для того чтобы изменения вступили в силу выпоняется команда IBTransaction.Commit также при начале изменения данных рекомендуется дать команду IBTransaction.StartTransaction
 |
Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)
Время отправки: 22 декабря 2006, 21:28
Оценка за ответ: 4
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 23 декабря 2006, 00:38; участников в обсуждении: 1.
|
Alex Van Glukhman (статус: 7-ой класс), 23 декабря 2006, 00:38 [#1]:
Забыл в плане простоты и надёжности IBase, Firebird
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|