次の方法で共有


XML レコードセットの永続化シナリオ

このシナリオでは、Recordset オブジェクトの内容を ASP Response オブジェクトに直接保存する Active Server Pages (ASP) アプリケーションを作成します。

手記

このシナリオでは、サーバーにインターネット インフォメーション サーバー 5.0 (IIS) 以降がインストールされている必要があります。

返されたレコードセットは、DataControl オブジェクト (RDS)を使用して Internet Explorer に表示されます。

このシナリオを作成するには、次の手順が必要です。

  • アプリケーションを設定する

  • データを取得する

  • データを送信する

  • データの受信と表示

手順 1: アプリケーションを設定する

スクリプトのアクセス許可を持つ "XMLPersist" という名前の IIS 仮想ディレクトリを作成します。 仮想ディレクトリが指すフォルダーに 2 つの新しいテキスト ファイルを作成します。1 つは "XMLResponse.asp" という名前で、もう 1 つは "Default.htm." という名前です。

手順 2: データを取得する

この手順では、ADO レコードセットを開き、クライアントに送信する準備をするコードを記述します。 メモ帳などのテキスト エディターでファイル 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  

Data SourcestrCon パラメーターの値は、必ず 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を保存して閉じます。 また、既定の ADO ライブラリ インストール フォルダーから、XMLResponse.asp ファイルを保存したのと同じフォルダーに adovbs.inc ファイルをコピーします。

手順 4: データを受信して表示する

この手順では、レコードセットを取得するために、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 以降を使用して、sqlserver/XMLPersist/default.htm https://URL を開き、結果を確認します。 データは、バインドされた DHTML テーブルに表示されます。 次に、sqlserver https:// /XMLPersist/XMLResponse.asp URL を開き、結果を確認します。 XML が表示されます。

関連項目

Save メソッドの
XML 形式のレコードの永続化