Поделиться через


Архитектура удаленного доступа к данным

Технология удаленного доступа к данным (RDA) использует три компонента Microsoft SQL Server Compact 3.5: SQL Server Compact 3.5 Database Engine, агент клиента SQL Server Compact 3.5 и агент сервера SQL Server Compact 3.5.

Для организации взаимодействия между базой данных SQL Server на сервере и базой данных SQL Server Compact 3.5 на устройстве используется сервер Microsoft IIS (Internet Information Services). При выполнении удаленного доступа к данным компонента SQL Server Compact 3.5Database Engine агент клиента SQL Server Compact 3.5 и агент сервера SQL Server Compact 3.5 работают совместно, как показано на следующей схеме. 

Архитектура удаленного доступа к данным

Компонент Database Engine SQL Server 3.5

Компонент SQL Server Compact 3.5Database Engine управляет хранением данных SQL Server на устройстве. Для отслеживаемых операций запроса компонент Database Engine отслеживает все добавляемые, обновляемые и удаляемые записи базы данных. Для каждой из записей сохраняется небольшой объем сведений о внесенных изменениях. Если для данных SQL Server существуют индексы, удаленный доступ к данным также поддерживает создание индексов для локальных данных.

Агент клиента SQL Server Compact 3.5 [SQL Server Compact 3.5]

Находящийся на устройстве агент клиента SQL Server Compact 3.5 является основным компонентом, используемым для удаленного доступа к данным. Агент клиента реализует интерфейс объекта удаленного доступа к данным. Приложения вызывают этот интерфейс для программного управления удаленным доступом к данным.

В следующей таблице описаны действия, которые агент клиента SQL Server Compact 3.5 может выполнять при вызове методов объекта удаленного доступа к данным.

Метод

Действие

Pull

Передача запроса агенту сервера SQL Server Compact 3.5 по протоколу HTTP. Когда клиента SQL Server Compact 3.5 получает набор данных от SQL Server, он сохраняет этот набор данных в базе данных SQL Server Compact 3.5.

Push

Извлечение всех вставленных, обновленных и удаленных записей из базы данных SQL Server Compact 3.5 и их отправка агенту сервера SQL Server Compact 3.5 по протоколу HTTP.

SubmitSQL

Передача указанного запроса SQL агенту сервера SQL Server Compact 3.5 по протоколу HTTP.

Агент сервера SQL Server Compact 3.5 [SQL Server Compact 3.5]

Расположенный на компьютере с сервером IIS агент сервера SQL Server Compact 3.5 обрабатывает HTTP-запросы, порождаемые агентом клиента SQL Server Compact 3.5. Для управления обменом данных между SQL Server и SQL Server Compact 3.5 он использует временные файлы сообщений (*.in и *.out).

В следующей таблице описаны действия, которые агент сервера SQL Server Compact 3.5 может выполнять при вызове методов объекта удаленного доступа к данным.

Метод

Действие

Pull

Получение запроса от агента клиента SQL Server Compact 3.5, подключение к SQL Server с помощью поставщика OLE DB для SQL Server и выполнение инструкции SQL клиента. Агент сервера SQL Server Compact 3.5 возвращает агенту клиента SQL Server Compact 3.5 результирующий набор записей по протоколу HTTP.

Push

Получение всех вставленных, обновленных и удаленных записей от агента клиента SQL Server Compact 3.5, подключение к SQL Server с помощью OLE DB и выполнение вставки, обновления и удаления данных в базе данных SQL Server. При возникновении ошибки агент сервера SQL Server Compact 3.5 сообщает об ошибке агенту клиент SQL Server Compact 3.5 по протоколу HTTP.

SubmitSQL

Получение указанного запроса SQL от агента клиента SQL Server Compact 3.5 по протоколу HTTP, подключение к SQL Server с помощью OLE DB и выполнение инструкции SQL клиента. При возникновении ошибки агент сервера SQL Server Compact 3.5 сообщает об ошибке агенту клиента SQL Server Compact 3.5 по протоколу HTTP.