Tutorial de RDS (VBScript)
Este es el Tutorial de RDS, escrito en Microsoft Visual Basic Scripting Edition. Para obtener una descripción del propósito de este tutorial, consulte el Tutorial de RDS.
Importante
A partir de Windows 8 y Windows Server 2012, los componentes del servidor RDS ya no se incluyen en el sistema operativo Windows (para obtener más información, consulte Windows 8 y la Guía de compatibilidad de Windows Server 2012, edición Cookbook). Los componentes de cliente de RDS se eliminarán en una versión futura de Windows. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Las aplicaciones que usan RDS deben migrar al servicio de datos WCF.
En este tutorial, RDS.DataControl y RDS.DataSpace se crean en tiempo de diseño, es decir, se definen con etiquetas de objeto como esta: <OBJECT>...</OBJECT>
. Como alternativa, se podrían crear en tiempo de ejecución con el método CreateObject Method (RDS). Por ejemplo, el objeto RDS.DataControl se puede crear de la siguiente manera:
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
Paso 1: Especificar un programa de servidor
VBScript puede detectar el nombre del servidor web de IIS en el que se ejecuta mediante el acceso al método Request.ServerVariables de VBScript disponible para Active Server Pages:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
Sin embargo, para este tutorial, usaremos el servidor imaginario "yourServer".
Nota
Preste atención al tipo de datos de los argumentos ByRef. VBScript no permite especificar el tipo de variable, por lo que siempre debe pasar un valor Variant. Si usa HTTP, RDS le permitirá pasar un valor Variant a un método que espera un valor distinto de Variant si lo invoca con el objeto RDS.DataSpace y el método CreateObject. Si usa DCOM o un servidor en proceso, debe hacer coincidir los tipos de parámetro en los lados del cliente y del servidor o recibirá un error de concordancia de tipos.
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
Paso 2a: Invocar el programa de servidor con RDS.DataControl
Este ejemplo es simplemente un comentario que muestra que el comportamiento predeterminado de RDS.DataControl es realizar la consulta especificada.
<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
...
Paso 2b: Invocación del programa de servidor con RDSServer.DataFactory
Paso 3: El servidor obtiene un objeto Recordset
Paso 4: El servidor devuelve el objeto Recordset
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
Paso 5: DataControl se puede usar mediante controles visuales
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
Paso 6a: Los cambios se envían al servidor con RDS.DataControl
Este ejemplo es simplemente un comentario que muestra cómo RDS.DataControl realiza las actualizaciones.
<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
Paso 6b: Los cambios se envían al servidor con RDSServer.DataFactory
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
Éste es el final del tutorial.