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

Вниз

Значение PARADOX -> NET DIR   Найти похожие ветки 

 
Serhij H.   (2003-10-21 11:52) [0]

Здравствуйте, Мастера! На машине юзера есть приложения работающие как с локальными БД Paradox, так и с сетевыми. Что делать в таком случае с настройкой BDE Administrator - Configuration - Native - PARADOX - NET DIR ? Менять её значение в своих приложениях на нужное мне? Тогда как до неё достучатся? Спасибо.


 
Anatoly Podgoretsky   (2003-10-21 11:56) [1]

Нет, менять в BDE Administrator на нужное всем.


 
Serhij H.   (2003-10-21 13:02) [2]

:/ не понял. Например, есть приложения работающие со след. БД:
1. c:\locPD1\ - локальная БД
2. \\Server\netPD2\ - БД в сети Microsoft
3. j:\netPD3\ - БД в сети Novell
Как быть? В приложении через session.NetFileDir:="<1.or2.or3.>"?


 
Sandman25   (2003-10-21 13:04) [3]

[2] Serhij H. (21.10.03 13:02)

Да.


 
MsGuns   (2003-10-21 13:16) [4]

ИМХО, путаница между NetDir и WorkDir
Первый не указывает на местоположение БД, его назначение - дать BDE возможность собирать текущую информацию об активных узерах-конкурентах в одном месте.


 
Sandman25   (2003-10-21 13:20) [5]

[4] MsGuns © (21.10.03 13:16)

Правильно. О конурентах.
И если работа идет с локальной БД, то не стоит лезть на какой-то сервер и писать туда о том, что несколько записей из локальной БД залокированы.


 
Serhij H.   (2003-10-21 13:25) [6]

to MsGuns. Почему? WorkDir у нас прописаны в BDE Administrator "намертво" :), а NetDir я как раз и подганяю под WorkDir через session.NetFileDir.
Так на верном ли я пути? ;)


 
MsGuns   (2003-10-21 13:31) [7]

Приложение должно определять является ли та БД, с которой ей предстоит работать (в том числе и расположенная на этом же ПК), разделяемой, т.е. юзабельной с других компов по сетке и если да, то каким-то образом узнавать где этот самый NetDir и указывать путь к нему в св-ве Session. Как определять-узнавать ? Это уже зависит от разработчика: можно хранить пути в ini-файле, в некоторой ReadOnly таблице в самой БД (каталоге с БД) или в настройках BDE на клиентских тачках.


 
Anatoly Podgoretsky   (2003-10-21 13:55) [8]

Serhij H. (21.10.03 13:25) [6]
Ну ка где ты там смог прописать WorkDir?
И понимаешь ли ты, что такое WorkDir?


 
Anatoly Podgoretsky   (2003-10-21 14:02) [9]

MsGuns © (21.10.03 13:31) [7]
Такой информации нет, это сугубо дело администратора базы, где это размещать, так насчет разделяемости, она не ограничивается сетью и может быть и на одном компьютере между разными приложениями.

Разработчики Парадокса, когда создавали это руководствовались благими целями, но получилось как всегда. Большинство разработчиков других баз, смогли решить эту проблему без создания централизованного файла. Хотя их базы тоже изначально создавались как однопользовательский и без разделения.


 
MsGuns   (2003-10-21 14:04) [10]

>Serhij H. (21.10.03 13:25) [6]
to MsGuns. Почему? WorkDir у нас прописаны в BDE Administrator "намертво" :), а NetDir я как раз и подганяю под WorkDir через session.NetFileDir.
Так на верном ли я пути? ;)

Нет, не на верном. NetDir и WorkDir должны указывать в разные каталоги. Хотя бы потому, что узер может с одного компа лазить в разные БД (WorkDir на языке Database DeskTop), NetDir же для этого менять не обязательно и даже вредно во избежание путаницы при настройке всей системы у клиента. Другими словами: создай на фул-расшаренном всеми компами каталоге место для "общения", т.е. NetDir и не меняй его. Лучше всего его, как и БД, размещать на выделенном файл-сервере, а если такового нет, то на самом быстром, надежном и менее всего загружаемом (ну, чтоб секретутка на нем не гоняла HL или Q3) компе. Приват каталоги (PrivateDir) лучше всего размещать на локальных дисках (например, С) или, если диска нет (бездисковая станция) или он тормозной, а сетка шустрая, то опять же на файл-сервере в каталоге, рашаренном только для данного узера.


 
Anatoly Podgoretsky   (2003-10-21 14:07) [11]

Sandman25 © (21.10.03 13:20) [5]
А ты попробуй запустить два приложения одновременно, одно с локальной, а другое с сетевой?


 
MsGuns   (2003-10-21 14:13) [12]

>Anatoly Podgoretsky © (21.10.03 14:02) [9]
Да кто ж спорит - то ? Только вот когда я писал "локально", я подразумевал (и не только я) монопольный доступ к БД, - т.е. только одна программа в данный момент юзает эту БД - при этом, кстати, фиолетово, запущена она с этого компа (где БД) или с другого.

Прежде чем пинать разработчиков, неплохо бы вспомнить когда парадокс разрабатывался и какие цели при этом преследовались. По крайней мере в конце 80-х - начале 90-х парадокс по шустрости и компактности хранения, форматам данных, бил любимый Вами дибэйз как хотел. Многие мои знакомые, кстати, из-за этого кидали фокс в пользу парадокса.

ЗЫ. А к словам придраться можно всегда ;(


 
Anatoly Podgoretsky   (2003-10-21 14:22) [13]

А дибэйз разрабатывался в самом начале 80-х, ну и что, сумели же обойтись без этой головной боли, но когда я говорил о других, я не имел ввиду именно dBase.
У меня таких хнакомых разработчиков не было, обратное было. По форматам ну тут даже комментировать не хочу.

Но ведь не об этом речь? А о реальных проблемах у Serhij H.


 
Sandman25   (2003-10-21 15:15) [14]

[11] Anatoly Podgoretsky © (21.10.03 14:07)

Проблемы не должно быть. Ведь программа изменяет NetDir только для себя, а не для всех приложений на данной клиентской машине. Главное, чтобы локальная БД не была расшарена как сетевой ресурс. Ну так ведь я рекомендую локальный доступ как раз только для действительно локальной БД, а не для такой сетевой, которая находится на том же компьютере.


 
Serhij H.   (2003-10-21 15:31) [15]

Sandman25 © (21.10.03 15:15) [14]
Я так и сделал. В СВОЁМ приложении я делаю session.NetFileDir:="\\Server\netdir\" - расшареный каталог доступный всем пользователям. session.PrivateDir я не трогаю. Проблем пока нет.


 
Sandman25   (2003-10-21 15:37) [16]

[15] Serhij H. (21.10.03 15:31)

Session.PrivateDir я устанавливаю в
ExtractFilePath(Application.ExeName)+"PrivDir",
при этом указанный каталог либо создается, либо очищается от всех файлов - спасает от некоторых проблем при запуске после сбоя, когда остаются временные _q*.dbf файлы


 
Serhij H.   (2003-10-21 15:47) [17]

:) ВСЕМ СПАСИБО БОЛЬШОЕ. УДАЧИ.



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
4-42220
_ShiFT_
2003-09-02 21:17
2003.11.13
Как на чистом АПИ написать аналог функции ProcessMessages


1-41698
phan
2003-11-04 11:55
2003.11.13
ReadOnly колонка в StringGrid


6-41826
Morfein
2003-09-14 22:36
2003.11.13
Порты


3-41017
Duncann
2003-10-15 18:48
2003.11.13
Работа с базой из dll


1-41614
vic_vm
2003-10-25 20:29
2003.11.13
Не могу перевести C++ код на Delphi





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