Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сеть и PARADOX


pivo_est ©   (2002-11-13 23:43:00) 

Господа!
Вопрос такой.
Локаоьная база PARADOX работает отлично.
Компьютеры (ив том числе где стоит эта база) объединили в сеть.
Можно ли с другого компьютера работать с этой базой т.е. вызывая просто программу с того компьютера где стоит эта база?
Возможно это в принципе?
Нужны ли доработки в программе?


pivo_est   (2002-11-14 15:18:00) [1]

Огромное всем спасибо!!!


sunwheel   (2002-11-14 09:46:00) [2]

Возможно.
Делаешь доступ к каталогу с базой.
В BDE Administrator на закладке
Configuration\Drivers\Native\Paradox
ставишь в NetDir путь к своей базе
в виде \\Computer\BaseDir, затем
Configuration\Init параметр LocalShare
ставишь в True. Все эти установки
необходимо сделать на всех машинах,
на которых будет запускаться твоя
программа. Да, и еще в алиасе поставь
путь к базе такой же \\Computer\BaseDir

Желаю удачи, еще единственный совет,
обязательно сделай в своей программе
функцию регенерации индексов через
dbiRegenIndex, сбережешь много
нервов ;)


Leran2002   (2002-11-14 09:30:00) [3]

Вот как можно работать с Парадоховской базой в сетке, не используя Алиасы, и использую только один Экзешник...
Таблицы будут например в папка Data...
Одно умловие, будет необходимо расшарить папку (полный доступ) в которой находится Приложение...

procedure TForm1.FormCreate(Sender: TObject);
var
APchar:array[0..254]of char;
S:string;
begin
// работаем без Алиасов - Database1.AliasName=""

// указываем путь к папке где лежат таблицы
// на папку должен быть полный доступ

Database1.Params.Strings[0]:="PATH="+ExtractFilePath(ParamStr(0))+"Data";

// Database1.SessionName=Query1.SessionName

GetTempPath(255,APchar);
S:=APchar;
Delete(S,Length(S),1);

// сетевая директория должна быть одна и та же у всех приложений работающих с базой!!!

Session1.NetFileDir:="\\Shamsha\tmp\1";

// каждое приложение указывает на свою временную директорию
Session1.PrivateDir:=S; //установка временой директории

Session1.Active:=true;
Database1.Connected:=true;
...
end;


Виталий Панасенко   (2002-11-14 09:30:00) [4]

Можно
Возможно
В принципе - нет. Настроить PrivateDir и NetDir. Последний должен указывать ФИЗИЧЕСКИ на один и тот же каталог.


Наверх

Титульная страница Поиск, карта сайта Написать письмо