Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / БД dBASE и совместный доступ / 8 сообщений из 8, страница 1 из 1
25.01.2005, 18:54
    #32883238
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
Ситуация такая. Есть приложение, которое работает с БД типа dBASE
через BDE (средствами Table, Query, DataSource, DBGrid). Никаких серверных технологий не применяется. Работа с удаленной или локальной БД происходит
просто через смену алиаса. Так вот, если 2 клиента работают с данными
со своих терминалов, а БД находится "на 3-й машине", то проблем с совместным доступом не наблюдается. Но стоит перенести БД на одну из
машин клиента, то при совместном доступе, редактированные данные
сохраняются только у клиента с локальной базой. Тот кто работает с
удаленной базой работает с кэшированными данными (хотя кэширование
я не включаю) и не одна строка изменений реально в базу не записывается
(напомню при совместном доступе).
Есть ли какое-то решение такой ситуации, не прибегая к коренной смене кода, т.е. не переходя на другую технологию ...
...
Рейтинг: 0 / 0
25.01.2005, 19:30
    #32883298
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
В общем случае - НЕТ.
Во первых, dBase не является сервером, и весь совместный доступ организуется только на уровне клиента.
Во вторых, BDE вещь очень часто загадочная :)
Можно попробовать взять ODBC драйвер для dbf'ов и указать BDE работать через ODBC, тогда с точки зрения BDE он всегда будет работать с удаленой базой вне зависимости от ее реального местонахождения. Даст ли ODBC-драйвер доступ к одной dbf нескольким разным клиентам зависит от ODBC-драйвера.
Все существующие на сегодня ODBC для dbf попытаются сделать доступ к dbf многопользовательским. Но не факт что заработает, очень уж там много глюков.
...
Рейтинг: 0 / 0
26.01.2005, 10:57
    #32883951
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
White OwlМожно попробовать взять ODBC драйвер для dbf'ов и указать BDE работать через ODBC...
Если не сложно можно об этом участке поподробнее. Как осуществить такую настройку (по пунктам)?
...
Рейтинг: 0 / 0
26.01.2005, 13:57
    #32884678
S.PR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
В настройках BDE:
LOCAL SHARE=TRUE
...
Рейтинг: 0 / 0
26.01.2005, 14:15
    #32884742
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
1. у меня стоит LOCAL SHARE=TRUE (со вчерашнего дня правда)

2. Пробовал использовать "транзакции" по следующей схеме:

авторDataBase1->StartTransaction;
Table1->Append();
...
Table1->Post();
DataBase1->Commit();


Но такая постановка мне не помогла. Изменения "удаленного" не попадают в
физическую таблицу.
Потом DataBase1->TransIsolation у меня работает только на tiDirtyRead ... Для
других методов выдает ошибку типа "для локальной базы нужно использовать режим
dirty read..."
...
Рейтинг: 0 / 0
26.01.2005, 15:15
    #32884952
S.PR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
SCORPION Z
Пробовал использовать "транзакции" по следующей схеме:

авторDataBase1->StartTransaction;
Table1->Append();
...
Table1->Post();
DataBase1->Commit();


Транзакции здесь непричем.
LOCAL SHARE=TRUE на всех машинах?
...
Рейтинг: 0 / 0
26.01.2005, 17:14
    #32885381
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
У меня LOCAL SHARE=TRUE стоит на всех машинах.
Но я использовал технологию DataBase-Table-DataSource-DBGrid ,
а сейчас Session-DataBase-Table-DataSource-DBGrid . Т.е. после
ручной настройки Session всё заработало, как и положено.

Есть только одна проблема это autorefresh данных у других клиентов не
происходит. Приходится по таймеру обновлять таблицу. Может есть другой
способ "обновить" данные?
...
Рейтинг: 0 / 0
27.01.2005, 12:06
    #32886659
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД dBASE и совместный доступ
авторВ настройках BDE:
LOCAL SHARE=TRUE
Все кто говорили об этом были правы! Не нужно добавлять к проекту ни
TDataBase ни TSession - эти проблемы решает BDE.
А вот LOCAL SHARE=TRUE действительно снимает все вопросы при
совместном доступе к БД. Тема закрыта!
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / БД dBASE и совместный доступ / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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