XML レコードセットの保持シナリオ
このシナリオでは、Recordset オブジェクトの内容を ASP Response オブジェクトに直接保存する Active Server Pages (ASP) アプリケーションを作成します。
注意
このシナリオでは、サーバーにインターネット インフォメーション サーバー (IIS) 5.0 以降がインストールされている必要があります。
返された Recordset は、DataControl オブジェクト (RDS) を使用して Internet Explorer に表示されます。
このシナリオを作成するには、次のステップが必要です。
アプリケーションを設定する
データを取得する
データを送信する
データを受信して表示する
ステップ 1: アプリケーションを設定する
スクリプトのアクセス許可を持つ "XMLPersist" という名前の IIS 仮想ディレクトリを作成します。 仮想ディレクトリが指すフォルダーに 2 つの新しいテキスト ファイルを作成します。1 つは "XMLResponse.asp" という名前で、もう 1 つは "Default.htm" という名前にします。
ステップ 2: データを取得する
このステップでは、ADO Recordset を開き、クライアントに送信する準備をするコードを記述します。 メモ帳などのテキスト エディターで XMLResponse.asp ファイルを開き、次のコードを挿入します。
<%@ language="VBScript" %>
<!-- #include file='adovbs.inc' -->
<%
Dim strSQL, strCon
Dim adoRec
Dim adoCon
Dim xmlDoc
' You will need to change "MySQLServer" below to the name of the SQL
' server machine to which you want to connect.
strCon = "Provider=sqloledb;Data Source=MySQLServer;Initial Catalog=Pubs;Integrated Security=SSPI;"
Set adoCon = server.createObject("ADODB.Connection")
adoCon.Open strCon
strSQL = "SELECT Title, Price FROM Titles ORDER BY Price"
Set adoRec = Server.CreateObject("ADODB.Recordset")
adoRec.Open strSQL, adoCon, adOpenStatic, adLockOptimistic, adCmdText
必ず、strCon
内の Data Source
パラメーターの値を Microsoft SQL Server コンピューターの名前に変更してください。
ファイルを開いたままにして、次のステップに進みます。
ステップ 3: データを送信する
Recordset が作成されたので、それを XML として ASP Response オブジェクトに保存してクライアントに送信する必要があります。 XMLResponse.asp の末尾に次のコードを追加します。
Response.ContentType = "text/xml"
Response.Expires = 0
Response.Buffer = False
Response.Write "<?xml version='1.0'?>" & vbNewLine
adoRec.save Response, adPersistXML
adoRec.Close
Set adoRec=Nothing
%>
ASP Response オブジェクトが Recordset Save メソッドの宛先として指定されていることに注意してください。 Save メソッドの宛先には、ADO Stream オブジェクト (ADO) など、IStream インターフェイスをサポートする任意のオブジェクトや、Recordset を保存する完全なパスを含むファイル名を指定できます。
次のステップに進む前に、XMLResponse.asp を保存して閉じます。 また、adovbs.inc ファイルを既定の ADO ライブラリ インストール フォルダーから、XMLResponse.asp ファイルを保存したのと同じフォルダーにコピーします。
ステップ 4: データを受信して表示する
このステップでは、Recordset を取得するために XMLResponse.asp ファイルをポイントする DataControl オブジェクト (RDS) のオブジェクトが埋め込まれた HTML ファイルを作成します。 メモ帳などのテキスト エディターで default.htm を開き、次のコードを追加します。 URL 内の "sqlserver" はお使いのサーバーの名前に置き換えてください。
<HTML>
<HEAD><TITLE>ADO Recordset Persistence Sample</TITLE></HEAD>
<BODY>
<TABLE DATASRC="#RDC1" border="1">
<TR>
<TD><SPAN DATAFLD="title"></SPAN></TD>
<TD><SPAN DATAFLD="price"></SPAN></TD>
</TR>
</TABLE>
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDC1">
<PARAM NAME="URL" VALUE="XMLResponse.asp">
</OBJECT>
</BODY>
</HTML>
default.htm ファイルを閉じて、XMLResponse.asp を保存したのと同じフォルダーに保存します。 Internet Explorer 4.0 以降を使用して、URL https://sqlserver/XMLPersist/default.htm を開き、結果を確認します。 データは、バインドされた DHTML テーブルで表示されます。 次に、URL https:// sqlserver /XMLPersist/XMLResponse.asp を開き、結果を確認します。 XML が表示されます。