Vorgehensweise von RDA
Der Remotedatenzugriff (Remote Data Access oder RDA) bietet eine einfache Möglichkeit für Anwendungen, auf Daten in Remotedatenbanken von Microsoft SQL Server 2000 oder SQL Server 2005 zuzugreifen. Die Datenpropagierung wird auf dem Client initiiert. Daten aus einer Tabelle werden vom Server in einem Pull-Vorgang an den Client weitergegeben. Dann können Änderungen auf dem Client vom Client über einen Push-Vorgang an den Server weitergegeben werden. Damit der Client anhand neuer Änderungen vom Server aktualisiert wird, muss die Tabelle gelöscht und erneut über einen Pull-Vorgang vom Server abgerufen werden.
Begriff | Definition |
---|---|
Pull |
Extrahiert Daten aus einer SQL Server-Datenbank und speichert die Daten in einer Datenbank von SQL Server 2005 Compact Edition (SQL Server Compact Edition). |
Push |
Sendet Änderungen aus einer SQL Server Compact Edition-Datenbanktabelle an eine vorhandene SQL Server-Datenbank. |
Anwendungen können eine SQL-Abfrage bereitstellen, die ein Rowset zurückgibt. Das resultierende Rowset wird an das Gerät übertragen und dort in einer Tabelle gespeichert. Alle von der Anwendung vorgenommenen Änderungen werden optional nachverfolgt. Auf Anforderung der Anwendung werden die aktualisierten Zeilen zurück an den Server gesendet und dort von der SQL Server-Datenbank übernommen. Das resultierende Rowset kann sowohl horizontal als auch vertikal gefiltert werden, doch ist die Filterdefinition in der SQL-Abfrage des Geräts angegeben.
RDA erfordert keine Konfiguration auf dem Server. Deshalb bleibt das Schema der Serverdatenbank unberührt. Diese Lösung empfiehlt sich, wenn Änderungen am Datenschema auf dem Server aufgrund von Unternehmensanforderungen nicht möglich sind. Clients müssen über die auf dem Gerät ausgeführte Anwendung einzeln für RDA konfiguriert werden. Deshalb eignet sich diese Konnektivitätslösung am besten für Anwendungen, die nicht allzu viele Clients bedienen, oder wenn nicht viel Clientcode für die Verwaltung der verbundenen Daten in der Anwendung benötigt wird.
RDA bietet keine Unterstützung für Konfliktlöser zur Verarbeitung von Zeilen, die aufgrund von Fehlern auf dem Server nicht übernommen werden. Die Anwendung auf dem Gerät muss Code zur Fehlerbehandlung enthalten. Fehler können optional in einer Fehlertabelle in der SQL Server Compact Edition-Datenbank auf dem Gerät protokolliert werden. Darüber hinaus erkennt RDA einen Standardkonflikt nicht, wie z. B. wenn Daten von verschiedenen Benutzern geändert werden. Im Konfliktfall wird die letzte Aktualisierung übernommen. Deshalb sollte RDA in einer vollständig partitionierten Anwendung verwendet werden, in der Daten nicht von verschiedenen Benutzern aktualisiert werden.