Вы можете объединить широкие возможности по контролю Данных системы Visual FoxPro с помощью локальных Правил и Хранимых Процедур, с одной стороны, и соответствующие Правила и Хранимые Процедуры Удаленного источника Данных, с другой стороны. Это обеспечит создание эффективного Приложения типа Клиент-Сервер, которое гарантирует защиту Целостности обрабатываемых Данных.

Поддержка Целостности Данных

Вы можете создать Локальную Версию правил контроля вводимых данных для Удаленного Сервера, в которой предусмотреть Сообщения для Пользователя по ошибкам Ввода данных; например, можно создать Сообщение, в котором Пользователь информируется о недопустимости сохранения данных на Сервере, так как в этом случае будет нарушена Ссылочная Целостность между Таблицами, или введенные данные не удовлетворяют Правилам Контроля.

Использование Правил Visual FoxPro в Удаленных Представлениях, или Offline-View

Вы можете создавать Правила Контроля Данных для уровней Поля или Уровней Записи при обработке Удаленных представлений или offline -view, которые будут выполняться до того момента, когда эти Данные будут отправлены на Удаленный Источник Данных (Сервер). Поскольку назначение создаваемых Правил - предотвратить отправку на Сервер Данных, которые будут отвергнуты Правилами Целостности Сервера, вы можете скопировать Правила Сервера для создания соответствующих Правил удаленных Представлений. Для этого рекомендуется использовать функцию DBSETPROP( ) для создания Правил в создаваемых Удаленных Представлениях.

NoteСовет

Вы можете создать локальное Правило Контроля Данных для Удаленного Представления, которое будет вызывать соответствующую Хранимую Процедуру на удаленном Сервере, в которую данные будут передаваться в виде параметров. Однако, при таком варианте увеличивается время обработки одного сегмента данных (например: Записи), и может увеличиться время ввода Данных.

Использование Правил Сервера

Вы можете управлять процессом выполнения Правил Контроля Данных на Сервере. Если возникает Ошибка, то созданный вами заблаговременно Контроллер обработки ошибок, основанный на использовании функции AERROR( )  должен быть настроен для информирования Пользователя о результатах выполнения операций сохранения данных на Сервере, а также предлагать повторить или отменить последнюю Операцию.

Использование Триггеров Сервера

Все-таки, вы можете создавать Триггеры Visual FoxPro для локальных Таблиц, но вы не можете создавать Триггеры для Представлений. Однако вы можете использовать Триггеры Удаленного Источника Данных. Триггеры Сервера могут быть использованы для процессов повторного обновления данных, например, каскадные изменения или Удаления. Использование Триггеров сервера для процессов вторичного Обновления значительно эффективнее, чем выполнение Потока команд от Приложения FoxPro к удаленному Серверу.

Защита от Потери Данных

Как система Visual FoxPro, так и Удаленный источник Данных обладают Механизмами Журналов Транзакций, которые обеспечивают некоторую Защиту от потери Данных. Дополнительную информацию смотрите в разделе: Программирование Коллективного Доступа к  Данным.

Вы можете моделировать использование Транзакций Visual FoxPro для Локального Прототипа и для обработки локальных Данных. Транзакции сервера обычно используются для обновления Удаленных Данных, выполнения операций Вставки или Удаления. Смотрите дополнительно раздел: Оптимизация выполнения Клиент-Серверных Приложений.

См. также