BDE32 приложения в ptp-сети

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: Scott Frolich

Использование BDE32-приложений в Peer-To-Peer сети

Сетью Peer-To-Peer (сеть, где каждая машина действует как клиент и как сервер) может быть одна из следующих сетей, включая другие сетевые платформы, совместимые с ними:

Windows 95

Windows NT

Lantastic

Netware Lite

BDE автоматически обнаруживает таблицы на сетевом диске, но он не может их определить на dedicated сервере или server/client. Dedicated-сервера уведомляют приложение клиента о том, что файл был изменен или заблокирован. Данная функциональность отсутствует в Peer-To-Peer (не-dedicated) сетях. Для ее включения в сетях Peer-To-Peer, установите «LOCAL SHARE» в TRUE в BDE Configuration Utility на странице System. Это должно быть сделано на всех клиентах BDE, которые имеют доступ к таблицам в сетях, указанных выше. В случае файловых серверов Novell данное требование не является необходимым.

Если используемые таблицы — таблицы Paradox, они также должны использовать каталог с сетевым контролем. Данный каталог должен находиться в сети для всех используемых клиентских приложений. Хорошим стилем считается использование отдельного каталога для приложения, сети и таблиц. Поясним примером:

|

|—

|—

|—

Существуют две различных среды BDE, которые необходимо принимать во внимание:

Использование только 32-битных приложений BDE.

Использование только 32-битных приложений BDE совместно с 16-битными.

Установка только для 32-битных приложений

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-имена.

Не используйте таблицы с длинными именами файлов.

Убедитесь в том, что все клиенты подключены к одному и тому же каталогу на сервере.

Только 32-битные приложения:

В 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)

{/codecitation}

Добавить комментарий