Форум: "Базы";
Текущий архив: 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.01 c