Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » MobiLink - Clientadministration » Einführung in MobiLink-Clients » Schemaänderungen in entfernten Clients

 

Skriptversionen Subskriptionen zuordnen

Ab Version 12.0.0 ist die Durchführung von Schemaänderungen an entfernten Datenbanken bedeutend einfacher. Um diese Funktionalität nutzen zu können, müssen Sie die Verwendung der erweiterten dbmlsync-Option ScriptVersion beenden. Stattdessen sollten Sie Ihre Skriptversion direkt der Synchronisationssubskription zuordnen und dafür die Klauseln verwenden, die den Anweisungen CREATE SYNCHRONIZATION SUBSCRIPTION und ALTER SYNCHRONIZATION SUBSCRIPTION hinzugefügt wurden.

Wenn Sie die neue Syntax verwenden, wird jede Datenbanktransaktion mit der Skriptversion hochgeladen, die der Subskription zum Zeitpunkt der Transaktion zugeordnet wurde. Dadurch kann eine Schemaänderung, die eine Skriptversionsänderung erfordert, ohne Synchronisation durchgeführt werden.

Bei Verwendung der zuvor verwendeten erweiterten Option ScriptVersion wird die Skriptversion der Transaktion während der Synchronisation zugeordnet. Aus diesem Grund müssen Sie vor jeder Schemaänderung eine Synchronisation durchführen.

Bei einigen bestehenden Synchronisationssystemen besteht aus anderen Gründen als Schemaänderungen weiterhin eine Abhängigkeit von der Änderung der von einer Subskription verwendeten Skriptversion zwischen den Synchronisationen. Möglicherweise ist es nicht möglich, diese Systeme so zu aktualisieren, dass sie die neue Funktionalität nutzen können.

Es ist weiterhin immer empfehlenswert, bei der Erstellung einer Synchronisationssubskription die SCRIPT VERSION-Klausel anzugeben. Vorhandene Subskriptionen können anhand der nachstehenden Anweisungen aktualisiert werden.

Wenn eine Subskription mit dem Namen my_sub vorhanden ist, die Sie mit der erweiterten dbmlsync-Option ScriptVersion synchronisieren, finden Sie nachstehend die Schritte, mit denen Sie Ihre Skriptversion direkt Ihrer Subskription zuordnen können.

 ♦  So ordnen Sie eine Skriptversion einer Subskription zu
  1. Ermitteln Sie die Skriptversion, die derzeit zum Synchronisieren von my_sub verwendet wird. Die einfachste Möglichkeit hierzu ist folgende:

    1. Fügen Sie die Option -v+ in Ihrer vorhandenen dbmlsync-Befehlszeile hinzu und führen Sie eine Synchronisation durch.

    2. Suchen Sie in Ihrer dbmlsync-Ausgabedatei nach einer Zeile, die die verwendete Skriptversion ausweist. Suchen Sie nach einem Ausdruck, der folgendem Beispiel ähnelt:

      Script version: my_script_ver_1
  2. Ordnen Sie die aktuelle Skriptversion der Subskription zu:

    ALTER SYNCHRONIZATION SUBSCRIPTION <sub_name>
    SET SCRIPT VERSION = <ver>

    wobei <sub_name> der Name der Subskription ist, in diesem Fall my_sub, und <ver> die aktuelle Skriptversion, die in Schritt 1 ermittelt wurde.

    Alle Transaktionen die nach diesem Zeitpunkt stattfinden, werden der Skriptversion zugeordnet.

  3. Führen Sie ein letztes Mal eine Synchronisation mit den alten Optionen durch. Damit stellen Sie sicher, dass alle Transaktionen die vor Abschluss von Schritt 2 stattgefunden haben, mit der korrekten Skriptversion hochgeladen werden.

  4. Entfernen Sie die erweiterte Option ScriptVersion überall, wo sie für diese Subskription angegeben ist. Die erweiterte Option kann in der dbmlsync-Befehlszeile, in einem Synchronisationsprofil oder in Verbindung mit einer Subskription, Publikation oder einem MobiLink-Benutzer in der entfernten Datenbank angegeben sein.

Bei Datenbanken, die mehr als eine Subskription enthalten, wiederholen Sie die Prozedur für jede Subskription.