XML-Recordset-Persistenzszenario
In diesem Szenario erstellen Sie eine ASP-Anwendung (Active Server Pages), die den Inhalt eines Recordset-Objekts direkt im ASP Response-Objekt speichert.
Hinweis
Für dieses Szenario muss ihr Server Internetinformationsserver 5.0 (IIS) oder höher installiert haben.
Das zurückgegebene Recordset wird in Internet Explorer mithilfe eines DataControl-Objekts (RDS)angezeigt.
Die folgenden Schritte sind zum Erstellen dieses Szenarios erforderlich:
Einrichten der Anwendung
Abrufen der Daten
Senden der Daten
Empfangen und Anzeigen der Daten
Erstellen Sie ein virtuelles IIS-Verzeichnis namens "XMLPersist" mit Skriptberechtigungen. Erstellen Sie zwei neue Textdateien in dem Ordner, auf den das virtuelle Verzeichnis verweist, eines namens "XMLResponse.asp", der andere mit dem Namen "Default.htm".
In diesem Schritt schreiben Sie den Code, um ein ADO-Recordset zu öffnen und darauf vorzubereiten, es an den Client zu senden. Öffnen Sie die Datei XMLResponse.asp mit einem Texteditor, 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
Stellen Sie sicher, dass Sie den Wert des Data Source
-Parameters in strCon
in den Namen des Computers ändern, auf dem Ihr Microsoft SQL Server läuft.
Lassen Sie die Datei geöffnet, und fahren Sie mit dem nächsten Schritt fort.
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 unten im 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 das Recordset-Objekt Save-Methodeangegeben wird. Das Ziel der Save-Methode kann ein beliebiges Objekt sein, das die IStream-Schnittstelle unterstützt, z. B. ein ADO-Stream-Objekt (ADO), oder ein Dateiname, der den vollständigen Pfad enthält, in dem das Recordset gespeichert werden soll.
Speichern und schließen Sie XMLResponse.asp, bevor Sie mit dem nächsten Schritt fortfahren. Kopieren Sie auch die Datei adovbs.inc aus dem Standardinstallationsordner der ADO-Bibliothek in denselben Ordner, in dem Sie die XMLResponse.asp Datei gespeichert haben.
In diesem Schritt erstellen Sie eine HTML-Datei mit einem eingebetteten DataControl Object (RDS) Objekt, das auf die XMLResponse.asp Datei zeigt, um das Recordset abzurufen. Öffnen Sie default.htm mit einem Text-Editor, z. B. Notepad (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 default.htm Datei, und speichern Sie sie im selben Ordner, in dem Sie XMLResponse.asp gespeichert haben. Öffnen Sie mit 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 angezeigt. Öffnen Sie nun die URL https:// sqlserver /XMLPersist/XMLResponse.asp und beobachten Sie die Ergebnisse. Der XML-Code wird angezeigt.