Adaptive Server Anywhere-Clients
Sie können eine Publikation erstellen, die einige oder alle Spalten einer Tabelle, jedoch nur einige Zeilen enthält. Hierfür schreiben Sie eine Suchbedingung, deren Ergebnis genau mit den zu publizierenden Zeilen übereinstimmt.
Sybase Central und die SQL-Sprache sind zwei Möglichkeiten, nur einige Zeilen in einer Tabelle zu publizieren, jedoch ist nur eine der Möglichkeiten mit MobiLink kompatibel.
WHERE-Klausel Kompatibel mit MobiLink. Sie können eine WHERE-Klausel verwenden, um eine Teilmenge von Zeilen in einen Artikel einzubeziehen.
Subskriptionsausdruck Ignoriert von MobiLink.
In MobiLink können Sie die WHERE-Klausel verwenden, um dieselbe Gruppe von Zeilen aus allen Subskriptionen bei einer Publikation auszuschließen. Alle Subskribenten bei der Publikation übertragen Änderungen an die Zeilen, die der Suchbedingung entsprechen.
So erstellen Sie eine Publikation mithilfe einer WHERE-Klausel (Sybase Central)
Benutzen Sie das Adaptive Server Anywhere-Plug-In und verbinden Sie sich mit der entfernten Datenbank als Benutzer mit DBA-Datenbankberechtigung.
Öffnen Sie den Ordner "Publikationen".
Im Menü "Datei" wählen Sie Neu > Publikation. Der Assistent für die Erstellung einer neuen Publikation erscheint.
Geben Sie einen Namen für die neue Publikation ein. Klicken Sie auf "Weiter".
Wählen Sie im Register "Tabellen" aus der Liste "Verfügbare Tabellen" eine Tabelle aus. Klicken Sie auf "Hinzufügen". Die Tabelle wird zur Liste der ausgewählten Tabellen auf der rechten Seite hinzugefügt.
Wählen Sie im Register "WHERE-Klauseln" die Tabelle aus und geben Sie dann die Suchbedingung in das untere Feld ein. Sie können auch das Dialogfeld "Einfügen" verwenden, das Sie bei der Erstellung der Suchbedingungen unterstützt.
Klicken Sie auf "Fertig stellen".
So erstellen Sie eine Publikation mithilfe einer WHERE-Klausel (SQL)
Stellen Sie als DBA eine Verbindung mit der entfernten Datenbank her.
Führen Sie eine CREATE PUBLICATION-Anweisung aus, die die Tabellen, die Sie in die Publikation aufnehmen wollen, sowie eine WHERE-Bedingung enthält.
Die folgende Anweisung erstellt eine Publikation, die die Spalten id, company_name, city und state der Tabelle customer publiziert, und zwar für Kunden, die in der status-Spalte als aktiv gekennzeichnet sind.
CREATE PUBLICATION pub_customer (
TABLE customer (
id,
company_name,
city,
state )
WHERE status = 'active'
)In diesem Fall wird die Spalte status selbst nicht publiziert. Alle nicht publizierten Zeilen müssen einen Standardwert haben. Andernfalls tritt ein Fehler auf, wenn Zeilen aus der konsolidierten Datenbank zum Einfügen übertragen werden.
Im folgenden Beispiel wird eine Einzelartikel-Publikation erstellt, die relevante Bestellinformationen an den Handelsvertreter mit der Nummer 856 sendet:
CREATE PUBLICATION pub_orders_samuel_singer ( TABLE sales_order WHERE sales_rep = 856 )
Weitere Hinweise finden Sie unter CREATE PUBLICATION-Anweisung. Beachten Sie, dass die Anweisung CREATE PUBLICATION eine SUBSCRIBE BY-Klausel enthält. Mit dieser Klausel können Sie ausgewählte Zeilen in SQL Remote publizieren. Sie wird jedoch bei der MobiLink-Synchronisation ignoriert.
SQL Anywhere Studio 9.0.1
Copyright © 1989–2004 Sybase Inc. Teil-Copyright © 2001–2004 iAnywhere Solutions Inc. Alle Rechte vorbehalten.