Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6301
Последний выпуск: 19.06.2015

ASP - Удаленная привязка данных с помощью службы удаленного доступа к данным

Удаленная привязка данных с помощью службы удаленного доступа к данным

Если веб-приложение обеспечивает клиентов возможностью доступа к данным, можно распределить обработку данных между клиентом и сервером с помощью службы удаленного доступа к данным (RDS). Компоненты RDS на стороне клиента направляют запросы к веб-серверу. Компоненты RDS на стороне сервера обрабатывают эти запросы и оправляют их системе управления базой данных (DBMS) с помощью объектов деловых приложений. DBMS отвечает на запрос, передавая данные на веб-сервер. Компоненты RDS на веб-сервере преобразуют данные в объект ADO Recordset. Производится разбор данных для передачи по сети на компьютер клиента, где они могут быть отображены элементами управления, определяемыми данными, например полем или полем с раскрывающимся списком.

Два основных объекта, которые будут использоваться для выполнения удаленной привязки — это RDS.DataControl и RDS.DataFactory. Сначала создайте копию объекта RDS.DataControl на компьютере клиента, вставив тег объекта на страницу HTML. Например:

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDSDC1">

<PARAM NAME="SQL" VALUE="SELECT Author, ID FROM Authors">

<PARAM NAME="CONNECT" VALUE="DSN=Pubs;">

<PARAM NAME="SERVER" VALUE=http://Bookweb/>

</OBJECT>

Приведенный выше тег объекта создает экземпляр объекта RDS.DataControl и устанавливает для него параметры SQL, Connect и Server. Если этот тег добавлен на страницу HTML, можно затем привязать объект управления данными к нескольким элементам управления, определяемым данными, на странице HTML. Например, приведенные ниже теги отображают таблицу, привязанную к объекту RDS.DataControl, описанному выше.

<TABLE id=Tasks DataSrc=#RDSDC1 WIDTH=100% BORDER=1 style="display: none">

<THEAD ALIGN=left>

    <TR>

        <TH><em>ID</TH>

        <TH><em>Author</TH>

</TR>

</THEAD>

    <TR>

        <TD><DIV DATAFLD=ID></DIV></TD>

        <TD><DIV DATAFLD=Author></DIV></TD>

</TR>

</TABLE>

С объектом RDS.DataControl связывается находящийся на сервере объект RDS.DataFactory, или компонент, реализующий бизнес-логику. Экземпляр объекта RDS.DataFactory может быть создан при первом создании на компьютере клиента объекта RDS.DataSpace, который затем с помощью метода CreateObject создает экземпляр объекта DataFactory на сервере. Данный процесс иллюстрируется сценарием в приведенном ниже примере.

Если доступ к данным должен обслуживаться объектом RDS.DataFactory, можно или создать специальный компонент, реализующий бизнес-логику, для связи с клиентом, или использовать непосредственно ADO из сценария для извлечения данных. В приведенном ниже примере специальный компонент Inventory предоставляет метод getQuantityonHand. Объект RDS.DataControl создает экземпляр Inventory на сервере и затем для извлечения записей вызывает метод getQuantityonHand.

<HTML>

<HEAD>

</HEAD>

<BODY>

<!-- RDS.DataControl -->

<OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID=ADC1></OBJECT>

<!-- RDS.DataSpace -->

<OBJECT ID="ADS1" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36">

</OBJECT>

<SCRIPT LANGUAGE="VBScript">

  Option Explicit

  Sub GetRecords()

  Dim objInventory, myRS

  Set objInventory =
ADS1.CreateObject("Company.Inventory", _
"http://<%=Request.ServerVariables("SERVER_NAME")%>")

  ' Inventory exposes a method called

  ' getQuantityonHand that takes connection string and SQL parameters.

  Set myRS = objInventory.getQuantityonHand _
("DSN=pubs;UID=sa;PWD=permission;","Select Quantity From Inventory")

  ' Assign the returned recordset to SourceRecordset.

  ADC1.SourceRecordset = myRS

  End Sub

</SCRIPT>

</BODY>

</HTML>

Те же вопросы, что и описанные в разделе Component Design Guidelines в документации IIS в пакете SDK операционной системы, относятся и к любому специальному компоненту, создаваемому для взаимодействия с RDS.DataControl. Например, следует гарантировать, что компонент поддерживает или двойную (Both), или замкнутую (Apartment) модель потоков.

Примечание.   RDS заменяет Advanced Data Connector (ADC), который считается устаревшим. В частности, функциональные возможности ADC по удаленной обработке (возможность манипулирования и изменения наборов записей на компьютере клиента) были встроены в ADO как часть RDS.

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог