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


Подробное программирование модели RDS

Ниже приведены ключевые элементы модели программирования RDS:

  • RDS.DataSpace

  • RDSServer.DataFactory

  • RDS. DataControl

  • Событие

Важный

Начиная с Windows 8 и Windows Server 2012, компоненты сервера RDS больше не включены в операционную систему Windows (дополнительные сведения см. в статье Windows 8 и Windows Server 2012 Compatibility Cookbook). Клиентские компоненты RDS будут удалены в будущей версии Windows. Избегайте использования этой функции в новой работе разработки и планируйте изменение приложений, которые в настоящее время используют эту функцию. Приложения, использующие RDS, должны перейти в службу данных WCF .

RDS DataSpace

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

Объектная модель RDS воплощает эту функциональность с помощью объекта RDS.DataSpace.

Серверная программа указывается по идентификатору программы или ProgID. Сервер использует ProgID и реестр сервера для поиска сведений о фактической программе для запуска.

RDS выполняет внутреннее различие в зависимости от того, находится ли серверная программа на удаленном сервере в Интернете или интрасети; сервер в локальной сети; или не на сервере вообще, а вместо этого в локальной библиотеке динамической компоновки (DLL). Это различие определяет обмен информацией между клиентом и сервером и существенно отличается от типа ссылки, возвращаемой клиентскому приложению. Однако с вашей точки зрения это различие не имеет особого смысла. Все, что важно, заключается в том, что вы получите ссылку на программу, которую можно использовать.

RDSServer.DataFactory

RDS предоставляет серверную программу по умолчанию, которая может выполнять SQL-запрос к источнику данных и возвращать объект набора записей или принимать объект Recordset и обновлять источник данных.

Объектная модель RDS реализует эту функцию с объектом RDSServer.DataFactory.

Кроме того, этот объект имеет метод для создания пустого объекта Recordset, который можно заполнить программным способом (CreateRecordset), а другой метод преобразования объекта набора записей в текстовую строку для создания веб-страницы (ConvertToString).

С помощью ADO можно переопределить некоторые стандартные функции подключения и команды RDSServer.DataFactory с помощью обработчика DataFactory и файла настройки, содержащего параметры подключения, команды и безопасности.

Серверная программа иногда называется бизнес-объектом. Вы можете написать собственный пользовательский бизнес-объект, который может выполнять сложный доступ к данным, проверки действительности и т. д. Даже при написании пользовательского бизнес-объекта можно создать экземпляр объекта RDSServer.DataFactory и использовать некоторые методы для выполнения собственных задач.

RDS. DataControl

RDS предоставляет средства для объединения функциональных возможностей RDS. DataSpace и RDSServer.DataFactory, а также позволяют визуальным элементам управления легко использовать объект набора записей, возвращаемый запросом из источника данных. RDS старается, в наиболее распространённом случае, сделать всё возможное, чтобы автоматически получить доступ к информации на сервере и отобразить её в визуальном контроле.

В объектной модели RDS эта функция реализуется с использованием объекта RDS.DataControl.

RDS.DataControl имеет два аспекта. Один из аспектов относится к источнику данных. Если задать сведения о команде и подключении с помощью свойств Connect и SQLRDS.DataControl, он автоматически будет использовать RDS.DataSpace, чтобы создать ссылку на объект RDSServer.DataFactory по умолчанию. Затем RDSServer.DataFactory будет использовать значение свойства Connect для подключения к источнику данных, будет использовать значение свойства SQL для получения Recordset из источника данных и вернет объект Recordset в RDS.DataControl.

Второй аспект относится к отображению возвращаемых Recordset информации в визуальном элементе управления. Визуальный элемент управления можно связать с RDS. DataControl (в процессе, называемом привязкой) и получить доступ к информации в связанном объекте Recordset, отображая результаты запроса на веб-странице в Microsoft Internet Explorer. Каждый объект RDS.DataControl связывает один объект Recordset, представляющий результаты одного запроса, с одним или несколькими визуальными элементами управления (например, текстовым полем, полем со списком, элементом управления сеткой и т. д.). Может быть несколько объектов RDS.DataControl на каждой странице. Каждый объект RDS.DataControl может быть подключён к иному источнику данных и содержать результаты отдельного запроса.

Объект RDS.DataControl также имеет собственные методы для навигации, сортировки и фильтрации строк связанного объекта Recordset. Эти методы аналогичны, но не совпадают с методами объекта ADO Recordset.

События

RDS поддерживает два собственных события, которые не зависят от модели событий ADO. Событие onReadyStateChange вызывается всякий раз, когда RDS. DataControlReadyState изменения свойств, что позволяет уведомлять вас о успешном завершении асинхронной операции, завершении или возникновении ошибки. Событие onError вызывается при возникновении ошибки, даже если ошибка возникает во время асинхронной операции.

Заметка

Microsoft Internet Explorer предоставляет два дополнительных события для RDS: onDataSetChanged, что означает, что набор записей работает, но по-прежнему извлекает строки и onDataSetComplete, что означает, что набор записей завершил извлечение строк.

См. также

Модель программирования RDS с объектами
объект DataControl (RDS)
объект DataFactory (RDSServer)
объект DataSpace (RDS)
сценарий RDS
Руководство RDS
Использование и безопасность RDS