Esercitazione su RDS (VBScript)
Questa è l'esercitazione su RDS, scritta in Microsoft Visual Basic, Scripting Edition. Per una descrizione dello scopo di questa esercitazione, vedere Esercitazione su RDS.
Importante
A partire da Windows 8 e Windows Server 2012, i componenti del server di RDS non sono più inclusi nel sistema operativo Windows. Per altri dettagli, vedere la Guida di riferimento per la compatibilità di Windows 8 e Windows Server 2012. I componenti del client di RDS verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Le applicazioni che usano RDS devono eseguire la migrazione a WCF Data Service.
In questa esercitazione vengono creati RDS.DataControl e RDS.DataSpace in fase di progettazione, ovvero vengono definiti con tag oggetto come questo: <OBJECT>...</OBJECT>
. In alternativa, possono essere creati in fase di esecuzione con il metodo CreateObject (RDS). Ad esempio, l'oggetto RDS.DataControl potrebbe 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 del server
VBScript è in grado di individuare il nome del server Web IIS in cui è in esecuzione accedendo al metodo VBScript Request.ServerVariables disponibile per le pagine ASP:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Tuttavia, per questa esercitazione, usare il server immaginario "yourServer".
Nota
Prestare attenzione al tipo di dati degli argomenti ByRef. VBScript non consente di specificare il tipo di variabile, pertanto è sempre necessario passare un tipo Variant. Quando si usa HTTP, RDS consentirà di passare un tipo Variant a un metodo che prevede un tipo non Variant se viene richiamato con il metodo CreateObject dell'oggetto RDS.DataSpace. Quando si usa DCOM o un server in-process, è necessario che i tipi di parametri corrispondano sul lato client e server, altrimenti si riceverà l'errore "Tipo non corrispondente".
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Passaggio 2a: Richiamare il programma del server con RDS.DataControl
Questo esempio è semplicemente un commento che illustra 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 del server con RDSServer.DataFactory
Passaggio 3: Il server ottiene un recordset
Passaggio 4: Il server restituisce il recordset
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Passaggio 5: DataControl viene 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 illustra come RDS.DataControl esegue 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>
Fine dell’esercitazione.