Tutoriel RDS (VBScript)
Il s’agit du didacticiel RDS, écrit dans Microsoft Visual Basic Scripting Edition. Pour obtenir une description de l’objectif de ce tutoriel, consultez le Tutoriel RDS.
Important
À compter de Windows 8 et Windows Server 2012, les composants serveur RDS ne sont plus inclus dans le système d’exploitation Windows (voir le Guide pratique sur la compatibilité de Windows Server 2012 et Windows 8 pour plus de détails). Les composants clients RDS seront supprimés dans une version ultérieure de Windows. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Les applications qui utilisent RDS doivent migrer vers WCF Data Service.
Dans ce tutoriel, RDS.DataControl et RDS.DataSpace sont créés au moment de la conception, c’est-à-dire qu’ils sont définis avec des balises d’objet, comme ceci : <OBJECT>...</OBJECT>
Vous pouvez également les créer au moment de l’exécution avec la méthode CreateObject Method (RDS). Par exemple, l’objet RDS.DataControl peut être créé comme suit :
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
Étape 1 : Spécifier un programme serveur
VBScript peut découvrir le nom du serveur web IIS sur lequel il s’exécute en accédant à la méthode VBScript Request.ServerVariables disponible pour les pages de serveur active :
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Toutefois, pour ce didacticiel, utilisez le serveur imaginaire « yourServer ».
Notes
Attention au type de données des arguments ByRef. VBScript ne vous permet pas de spécifier le type de variable. Vous devez donc toujours passer une variante. Lors de l'utilisation de HTTP, RDS vous permettra de passer une Variante à une méthode qui attend une non-Variante si vous l'invoquez avec la méthode CreateObject de l'objet RDS.DataSpace. Lors de l’utilisation de DCOM ou d’un serveur in-process, vous devez correspondre aux types de paramètres côté client et serveur, ou vous recevrez une erreur « Type Mismatch ».
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Étape 2a : Appeler le programme serveur avec RDS.DataControl
Cet exemple est simplement un commentaire illustrant que le comportement par défaut du RDS.DataControl consiste à effectuer la requête spécifiée.
<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
...
Étape 2b : Appeler le programme serveur avec RDSServer.DataFactory
Étape 3 : Le serveur obtient un Recordset
Étape 4 : Le serveur retourne l’objet Recordset
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Étape 5 : DataControl est utilisable par les contrôles visuels
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
Étape 6a : Les modifications sont envoyées au serveur avec RDS.DataControl
Cet exemple est simplement un commentaire démontrant comment le RDS.DataControl effectue les mises à jour.
<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
Étape 6b : Les modifications sont envoyées au serveur avec RDSServer.DataFactory
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
Ceci est la fin du tutoriel.