Beibehaltungsszenario für XML-Recordsets
In diesem Szenario erstellen Sie eine Active Server Pages-Anwendung (ASP), die den Inhalt eines Recordset-Objekts direkt im ASP-Response-Objekt speichert.
Hinweis
Dieses Szenario erfordert, dass auf Ihrem Server Internet Information Server 5.0 (IIS) oder höher installiert ist.
Das zurückgegebene Recordset wird in Internet Explorer mithilfe eines DataControl-Objekts (RDS) angezeigt.
Die folgenden Schritte sind erforderlich, um dieses Szenario zu erstellen:
Einrichten der Anwendung
Abrufen der Daten
Senden der Daten
Empfangen und Anzeigen der Daten
Schritt 1: Einrichten der Anwendung
Erstellen Sie ein virtuelles IIS-Verzeichnis namens „XMLPersist“ mit Skriptberechtigungen. Erstellen Sie im Ordner, auf den das virtuelle Verzeichnis verweist, zwei neue Textdateien namens „XMLResponse.asp“ und „Default.htm“.
Schritt 2: Abrufen der Daten
In diesem Schritt schreiben Sie den Code, um ein ActiveX Data Objects-Recordset (ADO) zu öffnen und zum Senden an den Client vorzubereiten. Öffnen Sie die Datei „XMLResponse.asp“ in einem Text-Editor (z. B. Editor), und fügen Sie den folgenden Code ein.
<%@ 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
Denken Sie daran, den Wert des Data Source
-Parameters in strCon
in den Namen Ihres Microsoft SQL Server-Computers zu ändern.
Lassen Sie die Datei geöffnet, und fahren Sie mit dem nächsten Schritt fort.
Schritt 3: Senden der Daten
Nachdem Sie nun über ein Recordset verfügen, müssen Sie es an den Client senden, indem Sie es als XML im ASP-Response-Objekt speichern. Fügen Sie am Ende der Datei „XMLResponse.asp“ den folgenden Code hinzu.
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
%>
Beachten Sie, dass das ASP-Response-Objekt als Ziel für die Save-Methode des Recordsets angegeben wird. Das Ziel der Save-Methode kann ein beliebiges Objekt sein, das die IStream-Schnittstelle unterstützt, z. B. ein Stream-Objekt (ADO) oder ein Dateiname, der den vollständigen Pfad des Speicherorts für das Recordset enthält.
Speichern und schließen Sie die Datei „XMLResponse.asp“, bevor Sie mit dem nächsten Schritt fortfahren. Kopieren Sie auch die Datei „adovbs.inc“ aus dem Standardinstallationsordner der ADO-Bibliothek in den Ordner, in dem Sie die Datei „XMLResponse.asp“ gespeichert haben.
Schritt 4: Empfangen und Anzeigen der Daten
In diesem Schritt erstellen Sie eine HTML-Datei mit einem eingebetteten DataControl-Objekt (RDS), das auf die Datei „XMLResponse.asp“ verweist, um das Recordset abzurufen. Öffnen Sie Datei „default.htm“ in einem Text-Editor (z. B. Editor), und fügen Sie den folgenden Code hinzu. Ersetzen Sie „sqlserver“ in der URL durch den Namen Ihres Servers.
<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>
Schließen Sie die Datei „default.htm“, und speichern Sie sie in dem Ordner, in dem Sie die Datei „XMLResponse.asp“ gespeichert haben. Öffnen Sie in Internet Explorer 4.0 oder höher die URL https://sqlserver/XMLPersist/default.htm, und beobachten Sie die Ergebnisse. Die Daten werden in einer gebundenen DHTML-Tabelle (Dynamic HTML) angezeigt. Öffnen Sie jetzt die URL https:// sqlserver /XMLPersist/XMLResponse.asp, und beobachten Sie die Ergebnisse. Die XML-Datei wird angezeigt.