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 Method (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 網頁伺服器的名稱:
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
不過,在本教學課程中,請使用虛構伺服器 "yourServer"。
注意
請注意 ByRef 引數的資料類型。 VBScript 無法讓您指定變數類型,因此您必須一律傳遞 Variant。 使用 HTTP 時,如果使用 RDS.DataSpace 物件 CreateObject 方法叫用,RDS 可讓您將 Variant 傳遞至預期非 Variant 的方法。 使用 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>
本教學課程即將結束。