Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Mit der Save-Methode des Recordset-Objekts wird ein Recordset-Objekt in einer Datei gespeichert (permanent gespeichert), und mit der Open-Methode wird das Recordset-Objekt aus dieser Datei wiederhergestellt.
Mit ADO 2.5 kann ein Recordset -Objekt auch mit den Methoden Save und Open in einem Stream-Objekt permanent gespeichert werden. Dieses Feature ist besonders hilfreich beim Arbeiten mit Remote Data Service (RDS) und Active Server Pages (ASP).
Weitere Informationen zur alleinigen Verwendung von Permanenz auf ASP-Seiten finden Sie in der aktuellen ASP-Dokumentation.
Die folgenden Szenarios zeigen, wie Stream-Objekte und Permanenz verwendet werden können.
Szenario 1
In diesem Szenario wird einfach ein Recordset -Objekt in einer Datei und dann in einem Stream -Objekt gespeichert. Dann wird der permanent gespeicherte Datenstrom in einem anderen Recordset-Objekt geöffnet.
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim stm As ADODB.Stream
Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
Set stm = New ADODB.Stream
rs1.Open "SELECT * FROM Customers", "Provider=sqloledb;" & _
"Data Source=MyServer;Initial Catalog=Northwind;" & _
"Integrated Security=SSPI;""", adopenStatic, adLockReadOnly, adCmdText
rs1.Save "c:\myfolder\mysubfolder\myrs.xml", adPersistXML
rs1.Save stm, adPersistXML
rs2.Open stm
Szenario 2
In diesem Szenario wird ein Recordset -Objekt permanent in einem Stream -Objekt im XML-Format gespeichert. Dann wird das Stream-Objekt in eine Zeichenfolge eingelesen, die Sie untersuchen, bearbeiten oder anzeigen können.
Dim rs As ADODB.Recordset
Dim stm As ADODB.Stream
Dim strRst As String
Set rs = New ADODB.Recordset
Set stm = New ADODB.Stream
' Open, save, and close the recordset.
rs.Open "SELECT * FROM Customers", "Provider=sqloledb;" & _
"Data Source=MyServer;Initial Catalog=Northwind;" & _
"Integrated Security=SSPI;"""
rs.Save stm, adPersistXML
rs.Close
Set rs = nothing
' Put saved Recordset into a string variable.
strRst = stm.ReadText(adReadAll)
' Examine, manipulate, or display the XML data.
...
Szenario 3
In diesem Beispielcode wird gezeigt, wie mit ASP-Code ein Recordset-Objekt permanent als XML direkt im Response-Objekt gespeichert wird:
...
<%
response.ContentType = "text/xml"
' Create and open a Recordset.
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from Customers", "Provider=sqloledb;" & _
"Data Source=MyServer;Initial Catalog=Northwind;" & _
"Integrated Security=SSPI;"""
' Save Recordset directly into output stream.
rs.Save Response, adPersistXML
' Close Recordset.
rs.Close
Set rs = nothing
%>
...
Szenario 4
In diesem Szenario wird vom ASP-Code der Inhalt des Recordset -Objekts im ADTG-Format auf dem Client geschrieben. Diese Daten können vom Microsoft Cursor Service für OLE DB zum Erstellen eines getrennten Recordset -Objekts verwendet werden.
Eine neue Eigenschaft für das DataControl-RDS-Objekt, URL, zeigt auf die ASP, durch die das Recordset -Objekt generiert wird. Das heißt, dass ein Recordset -Objekt ohne RDS mithilfe des serverseitigen DataFactory-Objekts oder mithilfe eines vom Benutzer geschriebenen Geschäftsobjekts abgerufen werden kann. Dadurch wird das RDS-Programmiermodell erheblich vereinfacht.
Server-side code, named https://server/directory/recordset.asp:
<%
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select au_fname, au_lname, phone from Authors", ""& _
"Provider=sqloledb;Data Source=MyServer;" & _
"Initial Catalog=Pubs;Integrated Security=SSPI;"
response.ContentType = "multipart/mixed"
rs.Save response, adPersistADTG
%>
Clientseitiger Code:
<HTML>
<HEAD>
<TITLE>RDS Query Page</TITLE>
</HEAD>
<body>
<CENTER>
<H1>Remote Data Service 2.5</H1>
<TABLE DATASRC="#DC1">
<TR>
<TD><SPAN DATAFLD="au_fname"></SPAN></TD>
<TD><SPAN DATAFLD="au_lname"></SPAN></TD>
<TD><SPAN DATAFLD="phone"></SPAN></TD>
</TR>
</TABLE>
<BR>
<OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
ID=DC1 HEIGHT=1 WIDTH = 1>
<PARAM NAME="URL" VALUE="https://server/directory/recordset.asp">
</OBJECT>
</SCRIPT>
</BODY>
</HTML>
Entwickler verfügen außerdem über die Option, ein Recordset -Objekt auf dem Client zu verwenden:
...
function GetRs()
{
rs = CreateObject("ADODB.Recordset");
rs.Open "https://server/directory/recordset.asp"
DC1.SourceRecordset = rs;
}
...