Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.076 c
15-1234953174
RDen
2009-02-18 13:32
2009.04.19
InnoSetup


11-1172928776
Dmitry___
2007-03-03 16:32
2009.04.19
Сохранение контролов в файл


2-1235726156
Dennis I. Komarov
2009-02-27 12:15
2009.04.19
TField.Value to string


2-1236233045
vat
2009-03-05 09:04
2009.04.19
Искажение больших картинок


1-1210091049
Nucer
2008-05-06 20:24
2009.04.19
TThread и OnTerminate





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский