Delphi 2
BDE32 приложения в ptp-сети
Использование BDE32-приложений в Peer-To-Peer сети
Сетью Peer-To-Peer (сеть, где каждая машина действует как клиент и как сервер) может быть одна из следующих сетей, включая другие сетевые платформы, совместимые с ними:
- Windows 95
- Windows NT
- Lantastic
- Netware Lite
Если используемые таблицы - таблицы Paradox, они также должны использовать каталог с сетевым контролем. Данный каталог должен находиться в сети для всех используемых клиентских приложений. Хорошим стилем считается использование отдельного каталога для приложения, сети и таблиц. Поясним примером:
<Каталог общего доступа> | |--- <Каталог таблиц> |--- <Каталог Exe-файлов> |--- <Сетевой каталог>Существуют две различных среды BDE, которые необходимо принимать во внимание:
- Использование только 32-битных приложений BDE.
- Использование только 32-битных приложений BDE совместно с 16-битными.
32-битное BDE полностью поддерживает соглашение об путях UNC вместе с длинными именами файлов. Рекомендуется использование соглашения UNC для всех сетевых соединений BDE. UNC позволяет обойтись без подключения (mapped) сетевых дисков. Это позволяет иметь доступ к таблицам и сетевым каталогам без необходимости заставлять пользователя подключать сетевые диски. UNC имеет следующий синтаксис:
\<Имя сервера>\<Имя каталога общего доступа>\<Путь к каталогу>+<Имя файла>Вот простой пример стандартного псевдонима (alias) BDE с использованием UNC:
Псевдоним: MyUNCAlias Тип: STANDARD Путь: \\FooServer\FooShare\Sharedir\Tables Драйвер по умолчанию: ParadoxСетевой каталог может быть установлен и таким способом:
Драйвер: Paradox Сетевой каталог: \\FooServer\FooShare\Sharedir\NetDirСетевой каталог может быть установлен во время выполнения приложения с помощью session.netfiledir (Delphi) или DbiSetProp (C++ / Delphi)
Если по какой-либо причине UNC не может использоваться в 32-битных приложениях, следуйте за следующими инструкциями для среды с 32-битными и 16-битными приложениями BDE.
Установка для 16-битных и 32-битных приложений BDE
Поскольку 16-битное Windows API не поддерживает UNC, ее не поддерживает и 16-битное BDE. Для того, чтобы позволить приложениям иметь общий доступ к таблицам, все клиенты должны подключить один и тот же каталог на сервере. Если сервер также используется и в качестве клиента, то все другие клиенты должны подключить его корневой каталог диска. Логический диск при этом у клиентов может быть разным. Вот несколько примеров с работающими и неработающими настройками:
Клиент1: Путь: X:\Каталог общего доступа\Таблицы Клиент2: Путь: X:\Каталог общего доступа\Таблицы Работоспособно Клиент1: (Также машина с таблицами): Путь: X:\Каталог общего доступа\Таблицы Клиент2: Путь: X:\Каталог общего доступа\Таблицы Работоспособно Клиент1: (Также машина с таблицами): Путь: C:\Каталог общего доступа\Таблицы Клиент2: Путь: X:\Каталог общего доступа\Таблицы Клиент3: Путь: R:\Каталог общего доступа\Таблицы Работоспособно Клиент1: Путь: X:\Каталог общего доступа\Таблицы Клиент2: Путь: X:\Таблицы (Где "X:\Таблицы" реально - "X:\Каталог общего доступа\Таблицы", но имеющий общий доступ в "Каталог общего доступа") Неработоспособно. BDE должен иметь возможность иметь доступ к файлу Network Control (управление сетью).Итог (установки для сетей Peer-To-Peer):
16- и/или 32-битные приложения:
- В BDE Configuration Utility установите "LOCAL SHARE" в TRUE.
- Не используйте UNC-имена.
- Не используйте таблицы с длинными именами файлов.
- Убедитесь в том, что все клиенты подключены к одному и тому же каталогу на сервере.
- В BDE Configuration Utility установите "LOCAL SHARE" в TRUE.
- Для получения доступа к сетевому каталогу и каталогу с таблицами используйте UNC-имена.
"Directory is controlled by other .NET file." (Каталог управляется другим .NET-файлом) "File: PDOXUSRS.LCK" ("Файл: PDOXUSRS.LCK") "Directory: " (Каталог: )ИЛИ
"Multiple .NET files in use." (Используются несколько .NET-файлов.) "File: PDOXUSRS.LCK" (Файл: PDOXUSRS.LCK)- Scott Frolich [000981]