RDA-Architektur

Beim Remotedatenzugriff (Remote Data Access, RDA) werden drei Komponenten von Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) verwendet: das SQL Server Compact 3.5 Datenbankmodul, der Client-Agent für SQL Server Compact 3.5 und der Server-Agent für SQL Server Compact 3.5.

RDA verwendet die Microsoft Internetinformationsdienste (Internet Information Services, IIS) als Kommunikationsmittel zwischen der SQL Server-Datenbank auf einem Server und der SQL Server Compact 3.5-Datenbank auf dem Gerät. Der Remotedatenzugriff wird von Datenbankmodul von SQL Server Compact 3.5, dem Client-Agent für SQL Server Compact 3.5 und dem Server-Agent für SQL Server Compact 3.5 zusammen abgeschlossen. Dieser Vorgang wird im folgenden Diagramm dargestellt.

Architektur für Remotedatenzugriff (RDA)

SQL Server Compact 3.5-Datenbankmodul

Das SQL Server Compact 3.5 Datenbankmodul verwaltet den auf dem Gerät gespeicherten SQL Server-Datenspeicher. Bei nachverfolgten Pull-Vorgängen protokolliert Datenbankmodul alle Datenbankeinträge, die eingefügt, aktualisiert oder gelöscht werden, indem zusätzlich zu jedem Datensatz einige Informationen zur Änderungsprotokollierung gespeichert werden. Falls Indizes für die SQL Server-Daten vorhanden sind, unterstützt RDA zudem, dass Indizes für die lokalen Daten erstellt werden.

Client-Agent für SQL Server Compact 3.5

Der Client-Agent für SQL Server Compact 3.5, der sich auf dem Gerät befindet, ist die Komponente, die hauptsächlich für RDA verwendet wird. Der Client-Agent implementiert die RDA-Objektschnittstelle. Diese Schnittstelle wird von Anwendungen zur programmseitigen Steuerung von RDA aufgerufen.

In der folgenden Tabelle werden die Aktionen beschrieben, die der Client-Agent für SQL Server Compact 3.5 in Reaktion auf Methodenaufrufe von RDA-Objekten ausführt.

Methode Aktion

Pull

Leitet die Anforderung an den Server-Agent für SQL Server Compact 3.5 mithilfe von HTTP weiter. Wenn der Client-Agent für SQL Server Compact 3.5 das Recordset von SQL Server empfängt, speichert er es in der SQL Server Compact 3.5-Datenbank.

Push

Extrahiert alle eingefügten, aktualisierten und gelöschten Datensätze aus der SQL Server Compact 3.5-Datenbank und sendet sie mithilfe von HTTP an den Server-Agent für SQL Server Compact 3.5.

SubmitSQL

Leitet die angegebene SQL-Anforderung an den Server-Agent für SQL Server Compact 3.5 mithilfe von HTTP weiter.

Server-Agent für SQL Server Compact 3.5

Der Server-Agent für SQL Server Compact 3.5, der sich auf dem Computer mit IIS befindet, verarbeitet die HTTP-Anforderungen des Client-Agents für SQL Server Compact 3.5. Er verwendet temporäre Nachrichtendateien (IN und OUT) für die Verwaltung des Datenaustauschs zwischen SQL Server und SQL Server Compact 3.5.

In der folgenden Tabelle werden die Aktionen beschrieben, die der Server-Agent für SQL Server Compact 3.5 in Reaktion auf Methodenaufrufe von RDA-Objekten ausführt.

Methode Aktion

Pull

Empfängt die Anforderung vom Client-Agent für SQL Server Compact 3.5, stellt eine Verbindung mit SQL Server über den OLE DB-Anbieter für SQL Server her und ruft die SQL-Anweisung des Clients auf. Der Server-Agent für SQL Server Compact 3.5 gibt das resultierende Recordset an den Client-Agent für SQL Server Compact 3.5 mithilfe von HTTP zurück.

Push

Empfängt alle eingefügten, aktualisierten und gelöschten Datensätze vom Client-Agent für SQL Server Compact 3.5, stellt eine Verbindung über OLE DB mit SQL Server her und fügt die Datensätze in die SQL Server-Datenbank ein bzw. aktualisiert oder löscht sie. Falls Fehler auftreten, meldet der Server-Agent für SQL Server Compact 3.5 die Fehler mithilfe von HTTP an den Client-Agent für SQL Server Compact 3.5.

SubmitSQL

Empfängt die angegebene SQL-Anforderung vom Client-Agent für SQL Server Compact 3.5 mithilfe von HTTP, stellt eine Verbindung über OLE DB mit SQL Server her und ruft die SQL-Anweisung des Clients auf. Falls Fehler auftreten, meldet der Server-Agent für SQL Server Compact 3.5 die Fehler mithilfe von HTTP an den Client-Agent für SQL Server Compact 3.5.