Esercitazione su RDS (VBScript)
Questo è il Tutorial RDS, scritto in Microsoft Visual Basic Scripting Edition. Per una descrizione dello scopo di questo tutorial, consultare il tutorial RDS.
Importante
A partire da Windows 8 e Windows Server 2012, i componenti del server Servizi Desktop Remoto non sono più parte del sistema operativo Windows (vedere Windows 8 e Guida di riferimento per la compatibilità di Windows Server 2012 per altri dettagli). I componenti client di Servizi Desktop Remoto (RDS) verranno rimossi in una futura versione di Windows. Evitare di usare questa funzionalità nel nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente usano questa funzionalità. Le applicazioni che utilizzano RDS devono migrare a WCF Data Service.
In questa esercitazione, RDS.DataControl e RDS.DataSpace vengono creati in fase di progettazione, cioè vengono definiti con tag oggetto, come questo: <OBJECT>...</OBJECT>
. In alternativa, possono essere creati in fase di esecuzione con il metodo CreateObject Method (RDS). Ad esempio, l'oggetto RDS.DataControl può essere creato come segue:
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
Passaggio 1 - Specificare un programma server
VBScript può individuare il nome del server Web IIS in cui è in esecuzione accedendo al metodo VBScript Request.ServerVariables disponibile per Active Server Pages:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Tuttavia, per questa esercitazione, usare il server immaginario "yourServer".
Nota
Prestare attenzione al tipo di dato degli argomenti ByRef. VBScript non consente di specificare il tipo di variabile, pertanto è necessario passare sempre un Variant. Quando si usa HTTP, Servizi Desktop remoto consentirà di passare un valore Variant a un metodo che prevede un valore diverso da Variant se viene richiamato con rds . Oggetto DataSpacemetodo CreateObject. Quando si usa DCOM o un server in-process, è necessario abbinare i tipi di parametro sul lato client e server, altrimenti si riceverà un errore "Errore di tipo non corrispondente".
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Passaggio 2a: Richiamare il programma server con RDS.DataControl.
Questo esempio è semplicemente un commento per dimostrare che il comportamento predefinito di RDS.DataControl consiste nell'eseguire la query specificata.
<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
...
Passaggio 2b- Richiamare il programma server con RDSServer.DataFactory
Passaggio 3: il server ottiene un oggetto Recordset
Passaggio 4: il server restituisce l'oggetto Recordset
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Passaggio 5- DataControl è reso utilizzabile dai controlli visivi
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
Passaggio 6a - Le modifiche vengono inviate al server con RDS.DataControl
Questo esempio è semplicemente un commento che dimostra come il RDS.DataControl esegua gli aggiornamenti.
<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
Passaggio 6b: le modifiche vengono inviate al server con RDSServer.DataFactory
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
Questa è la fine dell'esercitazione.