RDS のチュートリアル (VBScript)
これは、Microsoft Visual Basic Scripting Edition で記述された RDS チュートリアルです。 このチュートリアルの目的については、RDS チュートリアルを参照してください。
重要
Windows 8 および Windows Server 2012 から、RDS サーバー コンポーネントが Windows オペレーティング システムに含まれなくなりました (詳細については、Windows 8 および Windows Server 2012 の互換性クックブックを参照してください)。 RDS クライアント コンポーネントは、今後のバージョンの Windows で削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 RDS を使用するアプリケーションを、WCF Data Service に移行する必要があります。
このチュートリアルでは、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 は、Active Server Pages で使用できる VBScript Request.ServerVariables メソッドにアクセスすることで、実行中の IIS Web サーバーの名前を検出することができます。
"https://<%=Request.ServerVariables("SERVER_NAME")%>"
ただし、このチュートリアルでは、仮想のサーバー "yourServer" を使用します。
注意
ByRef 引数のデータ型に注意してください。 VBScript では変数型を指定できないため、常に Variant を渡す必要があります。 HTTP を使用しているとき、RDS では RDS.DataSpace オブジェクト CreateObject メソッドで呼び出すとバリアントでないことを想定するメソッドに 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>
これは、チュートリアルの最後です。