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

Вниз

Работа с базой по сети   Найти похожие ветки 

 
leonon   (2002-12-24 16:03) [0]

Добрый день, уважаемые мастера! Имею базу ПАРАДОКС. Для организации сетевой работы на всех машинах (по совету мастеров, огромное спасибо)прописал
1. NET DIR = \\Boss\Program\Base
2. LOCAL SHARE = TRUE

После этого приложение заработало со всех машин в сети. При этом в папке \Base\ формируются *.lck и *.net одни на всех клиентов.

Но сейчас вылез другой глюк - при открытии базы, а именно TQuery, на любой машине выходит сообщение: Insufficient disk spase, file or directory does not exist. File c:\Program\pdoxusrc.lck и paradox.lck и просит их создать. Что это и как это побороть?


 
Reindeer Moss Eater   (2002-12-24 16:14) [1]

Установить private каталог на локальном диске
Local Share = FALSE


 
leonon   (2002-12-24 16:20) [2]

То есть?


 
Reindeer Moss Eater   (2002-12-24 16:24) [3]

1.Local Share должно быть FALSE
2.PrivatDir сессии рекомендуют держать на локальном диске


 
leonon   (2002-12-24 16:57) [4]

Получается, что для работы сетевого варианта программы необходимо
1. Приложение переписать на все клиентские машины.

2. Путь к базе данных указать относительный \\Boss\Program\Base
На машине, где БД локальная путь писать нормальный c:\Program\Base

3. В настройках БДЕ
NET DIR = \\Boss\Program\Base
LOCAL SHARE = FALSE
В настоящий момент все три машины заработали. Большое спасибо. Может для закрытия вопроса составим схему по которой необходимо осуществлять настойку? :))


 
Reindeer Moss Eater   (2002-12-24 16:59) [5]

Не надо схему.
Надо факи читать.


 
MsGuns   (2002-12-24 19:43) [6]

>1. Приложение переписать на все клиентские машины.

Не обязательно. Но для нормального назначения привдира на КАЖДОМ компе надо его либо настроить в BDE либо в самой проге выставлять в TSession (второй способ грамотнее) на диск, где всегда есть ДОСТАТОЧНО ПАМЯТИ (например, "D"). Путь к папке с привдиром из других компов должен быть заказан, по крайней мере на запись. Если на каком-то компе диск "забит", то отправь его (привдир) на сетевой каталог с эксклюзивными правами логина, работающего на этой тачке. Это если есть выделенный сервер. Если нет, освободи место на "забитой" тачке.

Короче,
- PrivDir должен юзаться ТОЛЬКО тем, кто сидит на ДАННОЙ машине, нато он и Private (частная собственность, однако !)
- WorkDir общий для всех с ПОЛНЫМ доступом для всех компов, откуда запускается прога (при этом на самой тачке она может и не находиться)
- NetDir - любой каталог, доступ к которому ПОЛНЫЙ со всех компов

NetDir лучше не совмещать с WorkDir, т.к. если есть несколько РАЗНЫХ БД в разных каталогах, то при запуске каждой проги надо переопределять и его. Этот каталог нужен не БД, а BDE. При этом фиолетово с какой именно БД (WorkDir) в данный момент какая прога работает


PrivDir НИ В КОЕМ СЛУЧАЕ НЕ РАВЕН WorkDir (т.е. папке с базой)



 
Anatoly Podgoretsky   (2002-12-24 20:06) [7]

PrivateDir обязательно на локальном диске клиента (можно конечно и на сети, но уникальную для кажого клиента и сессии) - хорошее место папка TEMP{\xxx}, более того желательно для каждого приложения свою и уж в обязательном порядке для каждой сессии!

А вот NET DIR в отдельную от приложений и баз папку, специально создать для этой цели на сервере, полный достуа

Насчет LOCAL SHARE с Reindeer Moss Eater абсолютно несогласен, но попробуй оба варианта, могут быть потери данных при зависании, выключении компьютеров. Это та штука о которой постоянно спорят. Ее побочный эффект немедленная запись на диск.

Твоя проблема возникла из за PrivateDir
Выше описанные рекомендации основываются не только на личном опыте но и на многочисленном опыте большого количество участников конференции fido7.ru.delphi.db, других конференций Борланд и их FAQ


 
MsGuns   (2002-12-24 21:18) [8]

>Anatoly Podgoretsky © (24.12.02 20:06)
>Насчет LOCAL SHARE с Reindeer Moss Eater абсолютно несогласен

Поддерживаю Анатолия. Только вот "пробовать" не советую. По крайней мере пока не появится ПОНИМАНИЕ МЕХАНИЗМА РАБОТЫ BDE


 
Reindeer Moss Eater   (2002-12-25 09:03) [9]

Это вы не со мной не согласны, это вы с Валентином Озеровым не согласны


 
leonon   (2002-12-25 10:22) [10]

Это все хорошо, если в приложении использовать TDataBase и TSession. Но как быть в случае, если обращение к таблицам осуществляется без их участия, напрямую, т.е. путем прописывания в TTable или TQuery свойства DatabaseName := путь к БД? Как в этом случае с PrivDir ?


 
Reindeer Moss Eater   (2002-12-25 10:22) [11]

Экземпляр TSession есть всегда.


 
leonon   (2002-12-25 10:34) [12]

Тогда надо установить TTable.SessionName := Default, а у Session.PrivateDir прописать нужный каталог. Правильно?


 
Reindeer Moss Eater   (2002-12-25 10:40) [13]

Правильно



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

Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-62526
ivansv
2003-01-08 04:53
2003.01.20
Просмотр любых файлов как текста


1-62543
zolotov
2003-01-11 00:56
2003.01.20
Quick Report


6-62681
Ocean
2002-11-20 14:49
2003.01.20
Русский текст из html-формы


7-62878
Sirius
2002-11-10 05:54
2003.01.20
Проблема с отключением копа


14-62750
Driverrr
2003-01-04 14:25
2003.01.20
Доступ к файлу...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский