Um eine Publikation zu erstellen, die nur einige Zeilen einer Tabelle enthält, müssen Sie eine Suchbedingung schreiben, die nur auf die Zeilen zutrifft, die Sie publizieren wollen. Verwenden Sie eine der folgenden Klauseln in Ihrer Suchbedingung:
SUBSCRIBE BY-Klausel Verwenden Sie die SUBSCRIBE BY-Klausel, wenn mehrere Subskribenten unterschiedliche Zeilen aus einer Tabelle erhalten.
Die SUBSCRIBE BY-Klausel wird empfohlen, wenn Ihr SQL Remote-System eine große Anzahl von Subskriptionen erfordert. Im Gegensatz zur WHERE-Klausel erlaubt die SUBSCRIBE BY-Klausel viele Subskriptionen, die einer einzigen Publikation zugeordnet sind. Subskribenten erhalten Zeilen abhängig vom Wert eines angeführten Ausdrucks.
Publikationen, die eine SUBSCRIBE BY-Klausel verwenden, sind kompakter, leichter verständlich und bieten eine bessere Performance als solche, die mehrere WHERE-Klauseln verwenden.
Weitere Hinweise finden Sie unter Nur einige Zeilen mit der SUBSCRIBE BY-Klausel publizieren.
WHERE-Klausel Verwenden Sie eine WHERE-Klausel, um eine Teilmenge von Zeilen in einen Artikel einzubeziehen. Alle Subskribenten für die Publikation, die diesen Artikel enthält, erhalten die Zeilen, die der WHERE-Klausel entsprechen.
Alle nicht publizierten Zeilen müssen einen Standardwert haben. Ansonsten tritt ein Fehler auf, wenn die entfernte Datenbank versucht, neue Zeilen aus der konsolidierten Datenbank einzufügen.
Sie können eine WHERE-Klausel in einem Artikel verwenden.
Der Datenbankserver muss, direkt proportional zu der Anzahl der Publikationen, dem Transaktionslog Informationen hinzufügen und das Transaktionslog durchsuchen, um Nachrichten zu versenden. Im Gegensatz zur SUBSCRIBE BY-Klausel, erlaubt es die WHERE-Klausel nicht, dass viele Subskriptionen einer einzigen Publikation zugeordnet werden.
Weitere Hinweise finden Sie unter Nur einige Zeilen mit einer WHERE-Klausel publizieren.
Sie benötigen eine Publikation, die es jedem Handelsvertreter ermöglicht, Folgendes durchzuführen:
Seine Bestellungen zu subskribieren.
Seine Bestellungen lokal zu aktualisieren.
Seine Bestellungen an die konsolidierte Datenbank zu replizieren.
Wenn Sie die WHERE-Klausel verwenden, müssten Sie eine separate Publikation für jeden Handelsvertreter erstellen. Die folgende Publikation gilt für einen Handelsvertreter namens Sam Singer, und jeder andere Handelsvertreter würde eine ähnliche Publikation benötigen.
CREATE PUBLICATION PubOrdersSamSinger ( TABLE SalesOrders WHERE Active = 1 ); |
Die folgende Anweisung subskribiert Sam Singer für die Publikation "PubsOrdersSamSinger".
CREATE SUBSCRIPTION TO PubOrdersSamSinger FOR Sam_Singer; |
Wenn Sie die SUBSCRIBE BY-Klausel verwenden, benötigen Sie nur eine Publikation. Alle Handelsvertreter können die folgende Publikation verwenden:
CREATE PUBLICATION PubOrders ( TABLE SalesOrders SUBSCRIBE BY SalesRepresentativeID ); |
Die folgende Anweisung subskribiert Sam Singer für die Publikation "PubsOrders" anhand seiner ID, 8887.
CREATE SUBSCRIPTION TO PubOrders ('8887') FOR Sam_Singer; |
Nur einige Zeilen mit der SUBSCRIBE BY-Klausel publizieren
Nur einige Zeilen mit einer WHERE-Klausel publizieren
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |