Руководство по RDS (VBScript)
Это руководство по RDS, написанное в Выпуске сценариев Microsoft Visual Basic. Чтобы ознакомиться с описанием целей этого руководства, см. в руководстве по RDS.
Важный
Начиная с Windows 8 и Windows Server 2012, компоненты сервера RDS больше не включены в операционную систему Windows (дополнительные сведения см. в статье Windows 8 и Windows Server 2012 Compatibility Cookbook). Клиентские компоненты RDS будут удалены в будущей версии Windows. Избегайте использования этой функции в новой работе разработки и планируйте изменение приложений, которые в настоящее время используют эту функцию. Приложения, использующие RDS, должны перенестися в службы данных WCF.
В этом руководстве RDS.DataControl и RDS.DataSpace создаются на этапе проектирования — то есть они определяются тегами объектов следующим образом: <OBJECT>...</OBJECT>
. Кроме того, их можно создать во время выполнения с помощью метода CreateObject (RDS). Например, объект RDS.DataControl можно создать следующим образом:
Set DC = Server.CreateObject("RDS.DataControl")
<!-- RDS.DataControl -->
<OBJECT
ID="DC1" CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33">
</OBJECT>
<!-- RDS.DataSpace -->
<OBJECT
ID="DS1" WIDTH=1 HEIGHT=1
CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36">
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub RDSTutorial()
Dim DF1
Шаг 1. Указание серверной программы
VBScript может обнаружить имя веб-сервера IIS, на котором он работает, путем доступа к методу VBScript Request.ServerVariables, доступному для страниц Active Server:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Однако в этом руководстве используйте мнимый сервер "yourServer".
Заметка
Обратите внимание на тип данных аргументов ByRef. VBScript не позволяет указывать тип переменной, поэтому необходимо всегда передавать Variant. При использовании протокола HTTP, RDS позволит передать Variant методу, который ожидает не Variant, если вы вызовете его с помощью метода CreateObject объекта RDS.DataSpace. При использовании DCOM или внутрипроцессного сервера необходимо соответствовать типам параметров на стороне клиента и сервера или вы получите ошибку "Несоответствие типов".
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Шаг 2a. Вызов серверной программы с помощью RDS. DataControl
Это всего лишь комментарий, демонстрирующий, что поведение по умолчанию элемента управления данными RDS.DataControl — выполнение указанного запроса.
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">
<PARAM NAME="SQL" VALUE="SELECT * FROM Authors">
<PARAM NAME="Connect" VALUE="DSN=Pubs;">
<PARAM NAME="Server" VALUE="https://yourServer/">
</OBJECT>
...
<SCRIPT LANGUAGE="VBScript">
Sub RDSTutorial2A()
Dim RS
DC1.Refresh
Set RS = DC1.Recordset
...
Шаг 2b. Вызов серверной программы с помощью RDSServer.DataFactory
Шаг 3. Сервер получает набор записей
Шаг 4. Сервер возвращает набор записей
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Шаг 5. DataControl позволяет использовать визуальные элементы управления
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
Шаг 6a. Изменения отправляются на сервер с помощью RDS. DataControl
Это просто комментарий, демонстрирующий, как RDS. DataControl выполняет обновления.
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">
<PARAM NAME="SQL" VALUE="SELECT * FROM Authors">
<PARAM NAME="Connect" VALUE="DSN=Pubs;">
<PARAM NAME="Server" VALUE="https://yourServer/">
</OBJECT>
...
<SCRIPT LANGUAGE="VBScript">
Sub RDSTutorial6A()
Dim RS
DC1.Refresh
...
Set RS = DC1.Recordset
' Edit the Recordset object...
' The SERVER and CONNECT properties are already set from Step 2A.
Set DC1.SourceRecordset = RS
...
DC1.SubmitChanges
Шаг 6b. Изменения отправляются на сервер с помощью RDSServer.DataFactory
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
это конец руководства.