RDS-Tutorial (VBScript)
Dies ist das RDS-Tutorial, das in Microsoft Visual Basic Scripting Edition geschrieben wurde. Eine Beschreibung des Zwecks dieses Tutorials finden Sie unter RDS-Tutorial.
Wichtig
Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Informationen finden Sie in den jeweiligen Kompatibilitäts-Cookbooks zu Windows 8 und Windows Server 2012). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Service migriert werden.
In diesem Tutorial werden RDS.DataControl und RDS.DataSpace zur Entwurfszeit erstellt, das heißt, sie werden mit Objekttags wie <OBJECT>...</OBJECT>
definiert. Alternativ können sie mit der CreateObject-Methode (RDS) zur Laufzeit erstellt werden. Das RDS.DataControl-Objekt könnte beispielsweise wie folgt erstellt werden:
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
Schritt 1: Angeben eines Serverprogramms
VBScript kann den Namen des IIS-Webservers, auf dem es ausgeführt wird, über die VBScript-Methode Request.ServerVariables ermitteln, die für Active Server Pages verfügbar ist:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Im Rahmen dieses Lernprogramms wird jedoch der imaginäre Server „yourServer“ verwendet.
Hinweis
Achten Sie auf den Datentyp von ByRef-Argumenten. VBScript bietet keine Möglichkeit, den Variablentyp anzugeben, sodass Sie immer ein Variant-Objekt übergeben müssen. Wenn Sie HTTP verwenden, bietet RDS die Möglichkeit, ein Variant-Objekt an eine Methode zu übergeben, die ein Nicht-Variant-Objekt erwartet, wenn Sie es mit der CreateObject-Methode des RDS.DataSpace-Objekts aufrufen. Wenn Sie DCOM oder einen In-Process-Server verwenden, müssen die Parametertypen auf Client- und Serverseite übereinstimmen. Andernfalls wird der Fehler gemeldet, dass die Typen nicht übereinstimmen.
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Schritt 2a: Aufrufen des Serverprogramms mit RDS.DataControl
Bei diesem Beispiel handelt es sich lediglich um einen Kommentar, der zeigt, dass das Standardverhalten des RDS.DataControl darin besteht, die angegebene Abfrage auszuführen.
<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
...
Schritt 2b: Aufrufen des Serverprogramms mit RDSServer.DataFactory
Schritt 3: Server ruft ein Recordset ab
Schritt 4: Server gibt das Recordset zurück
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Schritt 5: DataControl wird von visuellen Steuerelementen verwendet
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
Schritt 6a: Änderungen werden mit RDS.DataControl an den Server gesendet
Bei diesem Beispiel handelt es sich lediglich um einen Kommentar, der zeigt, wie RDS.DataControl Updates ausführt.
<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
Schritt 6b: Änderungen werden mit RDSServer.DataFactory an den Server gesendet
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
Dies ist das Ende des Tutorials.