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


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

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

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

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

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

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

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

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

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

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

Примечание.
Индекс создается только в том случае, если запрашивается столбец, формирующий данный индекс. Для запрашиваемой таблицы не создаются ограничения поддержания целостности, поскольку соответствующие таблицы могут отсутствовать в базе данных SQL Server Compact Edition. Эти ограничения должны быть добавлены самим приложением.

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

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

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

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

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

См. также

Задачи

Как извлекать данные (программным путем)

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

Получение помощи по SQL Server Compact Edition