Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

BDE+paradox   Найти похожие ветки 

 
Sergio ©   (2009-03-03 17:08) [0]

Есть давно работающая программа с локальной базой Paradox. Возникла необходимость сделать ее сетевой. Ничего не получается. Если работает один пользователь, то все нормально. При подключении второго – Cannot access directory file y:\tables\pdoxusrs.lck.
Сделано на Delphi 6, BDE 5.01. В настройках BDE менял наверно все: net dir, local share, strictintegrty и то, что вроде бы к делу не относится. База подключена как сетевой диск («y»), пробовал разные варианты. В программе тоже перепробовал все, что мог, и так:
Session1.NetFileDir := "y:\tables\";
Session1.PrivateDir := "c:\temp\";
И так:
Check(DbiSetPrivateDir("d:\temp"));
И не используя Session
Разумеется Table1.Exclusive := False.
Если запускать два экземпляра программы на одной машине, то все работает нормально (если PrivateDir разные), а с двух не работает.
И еще вопрос. При запуске в PrivateDir создаются paradox.lck и pdoxusrs.lck, а в NetDir – pdoxusrs.net и также два файла .lck. Правильно ли это. Почему при блокировании доступа для второго пользователя BDE ссылается на pdoxusrs.lck из NetFileDir.
Кто знает где собака зарыта, чего не хватает?


 
Ega23 ©   (2009-03-03 17:10) [1]


> Есть давно работающая программа с локальной базой Paradox.
>  Возникла необходимость сделать ее сетевой.


Искренне сочувствую.


 
mmelik ©   (2009-03-04 01:50) [2]

В свое время я решил подобную задачу следующим образом:
- у каждого клиента создал свою собственную БД (минимально необходимый набор справочников)
- при запуске каждый клиент select`ом (посредством компонента-кверка) перезаполнял свои локальные справочники
- клиент совершенно спокойно работал с локальными данными, а время от времени локальные справочники обновлялись сами (по событию таймера) так же как при старте
- по завершению работы приложение insert`ило данные в общую БД.

Это не самый удачный способ, зато простой и рабочий.


 
KilkennyCat ©   (2009-03-04 02:05) [3]

ставишь новелл-нетварь и вперед...


 
Sergey13 ©   (2009-03-04 08:46) [4]

> [0] Sergio ©   (03.03.09 17:08)
> Есть давно работающая программа с локальной базой Paradox.
> Возникла необходимость сделать ее сетевой.

Хорошая причина для замены СУБД, ИМХО.
Если просто скопировть структуру в ФБ например, то переделки будут не такими уж и большими, если работать через ту же БДЕ. А там уже можно дорабатывать сколько угодно.


 
MsGuns ©   (2009-03-04 09:11) [5]

В настройках BDE вроде LocalShare = true

Проблема совместного доступа решится, но программа, скорее всего, надежно работать не будет т.к. наверное в ней используется чисто локальная технология (TTable + Master-Detail связки) отчего регулярно слетают индексы и программы отказывается работать.

Решение в коренной  переделке программы или еще радикальнее - уход от парадокса в сторону клиент-серверных технологий


 
mmelik ©   (2009-03-04 21:09) [6]

Control Panel->BDE Administrator->закладка Configuration->Drivers->Native->Paradox

Сделайте где нибудь в сетке каталог, доступный со всех компьютеров, Опция Net Dir должна указывать на всех компьютерах на этот каталог - в нём будут хранится файлы которые обеспечивают раздельный доступ.


 
sergio ©   (2009-03-05 08:03) [7]

Проблема решилась очень просто.
Сделал базу dBase, скопировал туда содержимое и все работает.
В программе пришлось только добавить расширение dbf.
Не понятен юмор, как устроен Парадокс.


 
Sergey13 ©   (2009-03-05 08:50) [8]

> [7] sergio ©   (05.03.09 08:03)

> Проблема решилась
Она, ИМХО, не решилась, а отошла на второй план.
Шило на мыло поменял.


 
Anatoly Podgoretsky ©   (2009-03-05 09:18) [9]


> Не понятен юмор, как устроен Парадокс.

Парадоксально.



Страницы: 1 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
15-1234535049
Саша
2009-02-13 17:24
2009.04.19
Кто знает, как заблокироватть доступ к сайту.


2-1236004645
b86
2009-03-02 17:37
2009.04.19
программа слайдшоу


2-1236147878
vat
2009-03-04 09:24
2009.04.19
закрытие программы


15-1234992602
Юрий
2009-02-19 00:30
2009.04.19
С днем рождения ! 19 февраля 2009 четверг


3-1219391994
Меруерт
2008-08-22 11:59
2009.04.19
Телефонный справочник