Collection Contents Zurück Weiter PDF

MobiLink Benutzerhandbuch

Adaptive Server Anywhere-Clients

MobiLink-Clients der Adaptive Server Anywhere Version 7


MobiLink-Clients unter Adaptive Server Anywhere 7.0 wurden mit SQL-Anweisungen konfiguriert, die nun nicht mehr weiterentwickelt werden. Insbesondere wurden anstelle von Publikationen und Subskriptionen "Synchronisationsdefinitionen" verwendet. Die älteren Anweisungen werden nicht mehr unterstützt. Sie haben einige Nachteile:

  1. Eine Subskriptionsdefinition entspricht einer einzelnen Publikation mit einer einzelnen Subskription. Subskriptionen bei mehreren Publikationen werden nicht unterstützt. Ein einzelner MobiLink-Benutzer kann dagegen jetzt mehrere Publikationen subskribieren. Damit erhalten Sie die Möglichkeit, die Synchronisation auf Teile Ihres Datenbestands zu begrenzen.

  2. Einige Benutzer fanden die alte Terminologie verwirrend. Eine MobiLink-Benutzer-ID wurde zum Beispiel früher im Zusammenhang mit einem Adaptive Server Anywhere-Client "Standort" genannt. Ein MobiLink-Benutzer wird nun als MobiLink-Benutzer oder Synchronisationsbenutzer bezeichnet.

  3. Die neuen Anweisungen entsprechen denen, die in SQL Remote, der nachrichtenbasierten Replikationstechnologie von Sybase, ebenfalls verwendet werden.

Synchronisationsdefinitionen in entfernten Datenbanken der Version 7 beschreiben Upload-Daten 

Sie können alle oder einen beliebigen Teil der Daten in einer entfernten Adaptive Server Anywhere-Datenbank synchronisieren. Sie können komplette Tabellen oder nur bestimmte Spalten und Zeilen synchronisieren.

Die Synchronisationsdefinition in der Adaptive Server Anywhere-Client-Datenbank beschreibt die Daten, die repliziert werden sollen, und den Standort des geeigneten MobiLink-Synchronisationsservers.

In der synchronisierten Datenbank gespeicherte Synchronisationsskripten steuern, wie die übertragenen Zeilen verarbeitet und welche Zeilen an den entfernten Standort übertragen werden sollen. Diese Skripten sind nicht vom Typ der entfernten Datenbank abhängig.

Eine Synchronisationsdefinition kann Daten von mehreren Datenbanktabellen beinhalten. Der Beitrag einer Tabelle zu einer Synchronisationsdefinition wird als Artikel bezeichnet. Jeder Artikel kann aus einer kompletten Tabelle oder einer Teilmenge der Zeilen und Spalten einer Tabelle bestehen.

The figure shows a two-table synchronization definition, featuring one article using all rows and columns from Table A, and another article with some rows and columns from Table B.
Entfernte Datenbank synchronisieren 

Sobald eine entfernte Datenbank eingerichtet ist, müssen die beiden Datenbanken regelmäßig auf einen Stand gebracht werden, sodass sie dieselben Datenbestände enthalten. Die Synchronisation wird mit dem Befehlszeilen-Dienstprogramm "dbmlsync" durchgeführt.

Synchronisierte Tabelle ändern 

Eine Tabelle, die zu einer Synchronisationsdefinition hinzugefügt wurde, darf nicht geändert werden. Durch das Ändern der Tabelle würde der Synchronisationsprozess gestört werden. Sollte eine solche Änderung notwendig sein, so darf dieser Schritt erst unmittelbar nach der Synchronisation ausgeführt werden.

Die einzige Möglichkeit sicherzustellen, dass die ALTER STATEMENT-Anweisung unmittelbar nach der Synchronisation ausgeführt wird, besteht darin, diese Anweisung in ein Skript aufzunehmen und dieses Skript dann mit der Option -i des Befehlszeilen-Dienstprogramms dbmlsync auszuführen.

Vergleich mit UltraLite-Clients 

Wenn Sie UltraLite-Anwendungen zur Verwendung als MobiLink-Clients entwickelt haben, sind die folgenden Hinweise sicherlich hilfreich. Viele Elemente einer Synchronisationsdefinition haben eine Entsprechung in UltraLite.

Adaptive Server Anywhere 9.0-Client Adaptive Server Anywhere 7.0-Client UltraLite-Clients MobiLink-Synchronisationsserver
MobiLink-Synchronisationsbenutzer Standort Benutzername MobiLink-Benutzer
Typ Typ Datenstrom Verbindungstyp
Adresse Adresse Verbindungsparameter Serveradresse
Skriptversion Skriptversion Version Skriptversion
Publikation Teil einer Definition in einer entfernten Datenbank oder Teil einer Vorlage in einer Referenzdatenbank keine —alle Tabellen werden synchronisiert Publikation
Subskription Teil einer Definition in einer entfernten Datenbank oder Teil eines Standorts in einer Referenzdatenbank keine keine
Synchronisationsdefinitionen schreiben 

Eine Synchronisationsdefinition ist ein Datenbankobjekt der Version 7.0, das die Daten in einer entfernten Adaptive Server Anywhere-Datenbank beschreibt, die mit einem bestimmten MobiLink-Synchronisationsserver synchronisiert werden soll. Wenn Sie Adaptive Server Anywhere 9.0 oder später verwenden, müssen stattdessen Publikationen und Synchronisationssubskriptionen benutzt werden.

Weitere Hinweise finden Sie unter Entfernte Datenbank erstellen.

Eine Synchronisationsdefinition sollte nur in einer entfernten Datenbank von Adaptive Server Anywhere 7.0 vorkommen. Konsolidierte MobiLink-Server werden mithilfe von Skripten konfiguriert.

Eine Synchronisationsdefinition legt die folgenden Angaben fest:

Die folgende Anweisung erstellt eine Synchronisationsdefinition namens "testpub", die festlegt, welche Daten mit dem Standort "demo_sync_site" synchronisiert werden sollen.

CREATE SYNCHRONIZATION DEFINITION testpub
   SITE 'demo_sync_site'
   TYPE 'tcpip'
   ADDRESS 'host=localhost;port=2439;'
   OPTION sv='version1'
   (table People( person_id, fname, lname ),table Pets);

In dieser Anweisung gilt Folgendes:

Die vollständige Syntax der Anweisungen für die MobiLink-Synchronisation finden Sie unter MobiLink-SQL-Anweisungen.

Mit mehreren Servern synchronisieren 

Um eine entfernte Datenbank mit mehreren MobiLink-Synchronisationsservern zu synchronisieren, erstellen Sie mehrere Synchronisationsdefinitionen innerhalb der entfernten Datenbank. Jede Synchronisationsdefinition muss einen eindeutigen Standortnamen haben, da aus der Sicht des MobiLink-Synchronisationsservers jede einzelne Synchronisationsdefinition ein eigener logischer Client ist.

Die Synchronisation derselben Daten in einer entfernten Datenbank mit mehreren MobiLink-Synchronisationsservern wird derzeit nicht unterstützt.

Synchronisationsdefinitionen für Version 8 und höher neu erstellen 

Wenn Sie eine Adaptive Server Anywhere 7-Datenbank als MobiLink-Client verwenden wollen, benutzen Sie eine Synchronisationsdefinition zur Beschreibung der zu übertragenden Daten. In Version 8.0 und später sollten sie allerdings als Publikationen und Synchronisationssubskriptionen neu geschrieben werden.

Beispiel 

Angenommen, Sie wollen die Tabellen Customer und Sales_Order der Beispieldatenbank synchronisieren. Sie könnten die folgende Synchronisationsdefinition erstellt haben.

CREATE SYNCHRONIZATION DEFINITION testpub
   SITE 'demo_ml_user'
   TYPE 'tcpip'
   ADDRESS 'host=localhost;port=2439;'
   OPTION sv='version1'
   (TABLE Customer, TABLE Sales_Order);

Statt dessen sollten Sie jetzt folgendermaßen vorgehen.

  1. Zunächst publizieren Sie die Tabellen Customer und Sales_Order.

    CREATE PUBLICATION testpub
       (TABLE Customer, TABLE Sales_Order);
  2. Als Nächstes erstellen Sie für den MobiLink-Benutzer eine Subskription zu dieser Publikation. In diesem Fall ist der MobiLink-Benutzer demo_ml_user. Es ist nicht erforderlich, dass ein Datenbankbenutzer mit demselben Namen vorhanden ist. MobiLink-Benutzer und Datenbankbenutzer sind voneinander unabhängig.

    CREATE SYNCHRONIZATION SUBSCRIPTION TO testpub
       FOR demo_ml_user
       TYPE 'tcpip'
       ADDRESS 'host=localhost;port=2439;'
       OPTION sv='version1'

Die Angaben sind dieselben, nur sind sie in zwei kleinere Anweisungen aufgeteilt.

Die SITE-Klausel in der Synchronisationsdefinition gibt an, dass dieser MobiLink-Client die MobiLink-Benutzer-ID "demo_sync_site" synchronisiert. Die Synchronisation soll über eine TCP/IP-Verbindung stattfinden. Der Synchronisationsserver soll die Version "version1" der Synchronisationsskripten bei der Kommunikation mit diesem Client verwenden.

Im zweiten Fall werden die synchronisierten Tabellen publiziert. Anschließend wird für den MobiLink-Benutzer demo_sync_site eine Subskription erstellt. Die Klauseln TYPE, ADDRESS und OPTION haben dieselbe Syntax.


Collection Contents Zurück Weiter PDF