RDS 教程 (VBScript)
这是在 Microsoft Visual Basic Scripting Edition 中编写的 RDS 教程。 有关本教程用途的说明,请参阅 RDS 教程。
重要
从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务。
在本教程中,RDS.DataControl 和 RDS.DataSpace 是在设计时创建的,也就是说,它们使用对象标记进行定义,如下所示:<OBJECT>...</OBJECT>
。 或者,可以在运行时使用 CreateObject 方法 (RDS) 方法创建。 例如,RDS.DataControl 对象可以采用以下方式进行创建:
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
步骤 1 - 指定服务器程序
VBScript 可以通过访问可用于活动服务器页的 VBScript Request.ServerVariables 方法来发现它正在上面运行的 IIS Web 服务器的名称:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
但是,对于本教程,请使用虚构服务器“yourServer”。
注意
请注意 ByRef 参数的数据类型。 VBScript 不允许指定变量类型,因此必须始终传递一个 Variant。 使用 HTTP 时,RDS 可将 Variant 传递给需要非 Variant 的方法(如果使用 RDS.DataSpace 对象 CreateObject 方法调用它)。 使用 DCOM 或进程内服务器时,必须匹配客户端和服务器端的参数类型,否则将收到“类型不匹配”错误。
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")
步骤 2a - 使用 RDS.DataControl 调用服务器程序
此示例只是一个注释,演示 RDS.DataControl 默认行为是执行指定的查询。
<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
...
步骤 2b - 使用 RDSServer.DataFactory 调用服务器程序
步骤 3 - 服务器获取一个记录集
步骤 4 - 服务器返回该记录集
Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")
步骤 5 - 视觉对象控件使 DataControl 可用
' Assign the returned recordset to the DataControl.
DC1.SourceRecordset = RS
步骤 6a - 使用 RDS.DataControl 将更改发送到服务器
此示例只是一个注释,演示 RDS.DataControl 执行更新的方式。
<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
步骤 6b - 使用 RDSServer.DataFactory 将更改发送到服务器
DF.SubmitChanges "DSN=Pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
本教程到此结束。