Wenn Sie eine Subskription für eine bestimmte Tabelle erstellen
(beispielsweise die Tabelle PATIENTEN für Ihre Gruppe mobiler Pflegekräfte),
kann es zur Leistungsverbesserung erforderlich sein, nur eine Teilmenge der
Daten in der Tabelle zu replizieren. Sie geben diese Untermenge an,
indem Sie für jede Tabelle in der Subskription einzelne Zeilen oder Spalten
für die Replikation auswählen.
Beispiel: Die einzigen relevanten Spalten für mobile Pflegekräfte,
die die Tabelle PATIENTEN nutzen, sind die Felder PATIENTENNAME, ADRESSE,
TELEFON und ARZT. Die Datenmenge könnte dann noch weiter eingeschränkt
werden, indem eine WHERE-Klausel definiert wird, die die Daten für
Pflegekräfte filtert, die für einen bestimmten Arzt arbeiten.
Datenfilter für die Subskription können mit Filtern, die für die Gruppe
oder für einzelne Benutzer definiert wurden, kombiniert werden, wodurch sich
eine weitere Begrenzung der im Zugriff befindlichen Daten erzielen
lässt.
Diese Task ist Teil der größeren Task zum Erstellen einer
JDBC-Subskription. Wenn Sie diese Schritte ausgeführt haben, kehren Sie
zu JDBC-Subskription erstellen zurück.
Vorgehensweise
Gehen Sie wie folgt vor, um die Daten zu filtern, die während der
Synchronisation repliziert werden:
- Klicken Sie im Fenster Replikationssubskription definieren auf
Erweitert. Das Notizbuch Erweiterte Subskription
wird geöffnet.
- Anmerkung:
- Die Primärschlüsselspalten der Quellentabelle müssen subskribiert
werden. Wenn in der Quellentabelle Spalten vorhanden sind, die nicht
Teil des Primärschlüssels sind, muss mindestens eine dieser Spalten
subskribiert werden.
- Optional: Wählen Sie die Spalten aus, die in der Subskription
verwendet werden sollen.
- Rufen Sie die Seite Zielspalten des Notizbuchs Erweiterte
Subskription auf.
- Wählen Sie mit dem Kontrollkästchen Teilnehmerberechtigung
einrichten die Spalten aus, die auf dem mobilen Gerät erstellt werden
sollen. Nicht ausgewählte Spalten werden auf dem mobilen Gerät nicht
erstellt.
- Wählen Sie die in die Spiegeldatenbank zu replizierenden Spalten aus,
indem Sie das Kontrollkästchen Replizieren verwenden. Sie
müssen möglicherweise eine Spalte in die Spiegeldatenbank replizieren, aber
wollen Sie nicht auf dem mobilen Gerät erstellen. Wenn auf dem Server
z. B. eine Spalte ohne Standardwert vorhanden ist, die keine
Nullwerte enthalten kann, und Sie sie nicht auf dem mobilen Gerät erstellen,
müssen Sie sie in die Spiegeldatenbank replizieren und mit dem
Standardwertdatenfilter einen Standardwert angeben. Sync Server
repliziert alle auf dem mobilen Gerät erstellten Spalten auf die Quelle, wobei
der im Standardwertdatenfilter angegebene Standardwert verwendet wird, um die
Inhalte der Quellenspalte zu vervollständigen, die keine Nullwerte enthalten
kann und für die kein Standardwert auf dem Server vorhanden ist.
- Klicken Sie auf Ändern, um einen Zielspaltennamen, einen
Standardwertdatenfilter oder eine Integritätsbedingung zu ändern.
- Klicken Sie auf Schließen, um das Fenster Index
erstellen zu schließen.
- Optional: Definieren Sie Indizes für die Zieltabelle.
- Rufen Sie die Seite Indizes des Notizbuchs Erweiterte
Subskription auf.
- Klicken Sie auf Hinzufügen, um das Fenster Index
erstellen zu öffnen. Das Fenster Index erstellen wird
geöffnet.
- Geben Sie den Namen des Index in das Feld Name ein.
- Wählen Sie mit den Schaltflächen >, >>, < und
<< die Spalten aus, die in dem Index enthalten sein
sollen.
- Ordnen Sie den Index mit den Schaltflächen Nach oben
verschieben und Nach unten verschieben.
- Wählen Sie für den Index Aufsteigend oder Absteigend
aus.
- Klicken Sie auf Hinzufügen, um den Index hinzuzufügen.
- Klicken Sie auf Schließen, um das Fenster Index
erstellen zu schließen.
- Optional: Definieren Sie eine WHERE-Klausel, die einzelne Zeilen
auswählt, die in die Subskription aufgenommen werden sollen. Selbst
wenn alle Spalten im Replikat angezeigt werden, wollen Sie möglicherweise,
dass nur bestimmte Zeilen Teil der Subskription sind. Zum Anzeigen der
Beispiel-WHERE-Klauseln klicken Sie auf Beispiele.
- Rufen Sie die Seite Zeilen des Fensters Erweiterte
Subskription auf.
- Geben Sie in das Feld Alle erforderlichen Zeilen eine
WHERE-Klausel ein, die die Zeilenauswahl definiert, die in der Subskription
angezeigt werden sollen. Sie können nur die Zeilen aus der Tabelle
auswählen, die Sie in Schritt 1 ausgewählt haben.
Beispiel: Die mobilen Pflegekräfte sollen nur die Datenzeilen der
Tabelle PATIENTEN anzeigen können, in denen die Spalte JOBCODE den Wert
MPFLEGE enthält. Hierzu geben Sie die folgende WHERE-Klausel ein:
JOBCODE='MPFLEGE'
Es ist nicht erforderlich, dass Sie am Anfang der SQL-Klausel WHERE
eingeben.
- Geben Sie in das Feld Zeilenuntermenge für einzelne Benutzer
eine Klausel ähnlich der SQL-Klausel WHERE ein, die die für den einzelnen
Benutzer sichtbaren Zeilen einschränkt. Stellen Sie sicher, dass Sie am
Anfang der Klausel nicht "WHERE" eingeben. Sie können einen Parameter
verwenden, dessen Wert für die unterschiedlichen Benutzer variiert.
Genauere Informationen zur Definition von Filtern auf Gruppen- oder
Benutzerebene finden Sie in Filtern von Daten auf Subskriptionsebene.
Beispiel: Benutzer sollen nur Daten sehen dürfen, die zu ihren
eigenen Jobcodes in Beziehung stehen. Statt für den Parameter JOBCODE
einen fest codierten Wert für die gesamte Subskription einzugeben, definieren
Sie eine Variable, die auf den Datenfilterwert verweist, der für jeden
einzelnen Benutzer definiert wurde:
JOBCODE=':JOB'
In den Datenfiltern für einzelne Benutzer können Sie dann den
:JOB-Parameter auf den Jobcode jedes Benutzers setzen. Weitere
Informationen zum Filtern von Daten für einzelne Benutzer finden Sie in Filtern der für den Benutzer verfügbaren Daten und Filtern von Daten auf Subskriptionsebene.
- Klicken Sie auf OK, um das Fenster Erweiterte
Subskription zu schließen.
- Klicken Sie auf OK, um zum Fenster
Replikationssubskription definieren zurückzukehren.
- Anmerkung:
- Eine Reihe von Änderungen, die zwischen Synchronisationen an einer einzelnen
Zeile in einer DB2 Everyplace-Tabelle auf dem Gerät des Benutzers vorgenommen
wurden, werden als eine einzelne kumulative Änderung an Sync Server
übertragen. Daher wird eine DELETE-Operation gefolgt von einer
INSERT-Operation für denselben Primärschlüssel als UPDATE-Operation an Sync
Server übertragen, wenn die Operationen ohne dazwischen liegende
Synchronisationen stattgefunden haben. Wenn sie mit einer dazwischen
liegenden Synchronisation stattfinden, werden sie getrennt übertragen.
Wenn Sie eine Reihe von Änderungen in einer einzelnen Zeile vornehmen, kann
dies zu Inkonsistenzen führen, da die Subskription nicht alle Spalten zwischen
der Quellen- und der Benutzertabelle überträgt. Eine UPDATE-Operation
behält die aktuellen Werte in der (den) nicht-subskribierten Spalte(n) bei,
während eine INSERT-Operation die nicht-subskribierten Spalte auf
Standardwerte setzt.
Zugehörige Konzepte
Zugehörige Tasks