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


Запрос данных клиентом с сервера

Процесс удаленного доступа к данным часто начинается с запроса данных из базы данных Microsoft SQL Server и их копирования в клиентскую базу данных SQL Server Compact 3.5 (SQL Server Compact 3.5). Когда клиент запрашивает данные с сервера, запрос инициализируется программным обеспечением SQL Server Compact 3.5. SQL Server Compact 3.5 извлекает данные из базы данных SQL Server и сохраняет их в таблице базы данных SQL Server Compact 3.5.

Чтобы запросить данные с сервера, можно программно настроить удаленный доступ к данным в приложении. При настройке и выполнении операции запроса с использованием любой методики необходимо указать следующие параметры.

  • База данных, из которой запрашиваются данные.
  • Режим проверки подлинности веб-сервера, необходимый для подключения к веб-серверу.
  • Режим проверки подлинности SQL Server.
  • Таблицы, которые будут скопированы в клиентскую базу данных и данные из которых будут переданы клиенту.
  • Параметры запроса, включая имя таблицы ошибок и необходимость отслеживания.

Отслеживание

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

В дальнейшем приложение может вызвать метод Push, чтобы скопировать эти изменения обратно в таблицу SQL Server.

Отслеживаемые удаленным доступом к данным операции запроса и принудительной отправки используют оптимистический контроль совпадений. SQL Server не оставляет запрошенные записи заблокированными. Когда приложение вызывает метод Push, изменения, внесенные в локальную базу данных SQL Server Compact 3.5, безусловно переносятся в базу данных SQL Server. Это может привести к потере изменений, внесенных другими пользователями базы данных SQL Server.

Отслеживаемые методы Pull и Push следует использовать, если обновляемые записи логически секционированы и возникновение конфликтов является маловероятным. Например, отслеживаемые методы Pull и Push можно использовать в приложении для отдела обслуживания, которое обрабатывает сведения о специалистах, имеющих отдельные несовпадающие списки заявок на обслуживание.

Параметр RDA_TRACKOPTION указывает, должно ли программное обеспечение SQL Server Compact 3.5 отслеживать изменения, вносимые в запрошенную таблицу. Если на устройстве Windows Mobile в запрошенную таблицу будут внесены изменения, а затем измененные записи будут принудительно отправлены обратно в таблицу SQL Server, необходимо указать параметр TRACKINGON или TRACKINGON_INDEXES. Если задан перечислитель TRACKINGON, то для извлеченной таблицы создаются ограничения по первичному ключу. Если задан перечислитель TRACKINGON_INDEXES, для запрошенной таблицы создаются ограничения PRIMARY KEY и дополнительные индексы, которые существуют для таблицы на сервере. В обоих случаях SQL Server Compact 3.5 отслеживает изменения всех записей, для которых в локальной таблице выполнялись операции вставки, обновления или удаления.

ms172971.note(ru-ru,SQL.100).gifПримечание.
Индекс создается только в том случае, если запрашивается столбец, формирующий данный индекс. Для запрашиваемой таблицы не создаются ограничения ссылочной целостности, поскольку соответствующие таблицы могут отсутствовать в базе данных SQL Server Compact 3.5. Эти ограничения должны быть добавлены самим приложением.

Когда приложение вызывает метод Push, SQL Server Compact 3.5 использует сведения об отслеженных изменениях, чтобы найти вставленные, обновленные и удаленные записи в локальной таблице SQL Server Compact 3.5 и скопировать эти изменения в таблицу SQL Server.

Если параметру RDA_TRACKOPTION присвоено значение TRACKINGON или TRACKINGON_INDEXES, применяются следующие ограничения.

Если инструкция SELECT возвращает необновляемый набор записей, возникает ошибка.

Для обновляемого набора записей, возвращаемого инструкцией SELECT, должен быть определен первичный ключ. Инструкция SELECT может ссылаться на хранимую процедуру или представление, однако эти представление или хранимая процедура должны ссылаться только на одну таблицу и должны быть обновляемыми.

Если указан перечислитель TRACKINGON_INDEXES, то для локальной таблицы SQL Server Compact 3.5, указанной в параметре LocalTableName, создаются индексы, которые существуют для таблицы SQL Server и относятся к столбцам, указанным в параметре SQLSelectString.

См. также

Другие ресурсы

Как запросить данные при помощи объекта RDA (программным путем)

Справка и поддержка

Получение помощи (SQL Server Compact 3.5 с пакетом обновления 1)