Dieser Abschnitt enthält die folgenden Beispiele:
Dieses Beispiel zeigt das XML-Script, um Quellendatenbank- (Masterdatenbank-) und Spiegeldatenbankinformationen zu definieren und eine JDBC-Subskription mit Hilfe dieser beiden Datenbanken zu erstellen. Die XML-DTD-Datei, auf die verwiesen wird, wird normalerweise aus dem Klassenpfad geladen: file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd. Der Befehl <AddJdbcMaster> definiert Quellendatenbankverbindungsinformationen. Die JDBC-URL, der Treiber, die Benutzer-ID und das Kennwort sind erforderlich. Der Befehl <AddJdbcMirror> definiert Spiegeldatenbankverbindungsinformationen. Die JDBC-URL, der Treiber, die Benutzer-ID, das Kennwort und das Synchronisationsfenster (Replikationshäufigkeit) sind erforderlich. JDBC-Master- und JDBC-Spiegelinformationen müssen definiert werden, bevor eine JDBC-Subskription auf diese Datenbanken verweisen kann. Der Befehl <AddJdbcSubscription> definiert eine JDBC-Subskription. Wenn Replicate="TRUE" angegeben ist, wird die Replikation ausgeführt, um die neuen Spiegeltabellen mit Daten von der Quelle zu füllen, damit der Spiegel für die Synchronisation mit mobilen Geräten bereit ist. Wenn Replicate="FALSE" angegeben ist, bleibt die Synchronisation zu diesem Spiegel blockiert, bis die erste Replikation dieses Spiegels beendet ist. Der Befehl <AddJdbcSubscription> muss mindestens einen Befehl <AddTable> enthalten. Die Befehle <AddTable> sollten alle Spalten der Quellentabelle auflisten, um Replikations- und Synchronisationsoptionen für alle Spalten mit dem Befehl <AddColumn> anzugeben. Die Befehle <SourceSchema> und <SourceTable> geben eine Tabelle in der Quellendatenbank an, die subskribiert wird. Die Befehle <TargetSchema> und <TargetTable> können beliebige eindeutige Elemente in der Spiegeldatenbank sein. Diese Namen werden auch auf den mobilen Geräten verwendet. Die Befehle <AddTable> geben möglicherweise Indizes für die Tabellenspalten mit Hilfe des Befehls <AddIndex> an. Damit das System einfach bleibt, müssen Indexnamen im gesamten System eindeutig sein. Das unten angegebene Beispiel erstellt eine JDBC-Subskription mit dem Namen 'JDBCSUB_2', die die Datenbank MPFLEGE als Quelle und S_MP2 als Spiegel verwendet. In dieser Subskription gibt es nur eine Tabelle, in der mehrere Spalten und ein aufsteigender Index definiert ist (ein Pluszeichen '+' vor der Indexspalte bedeutet aufsteigend, ein Minuszeichen '-' bedeutet absteigend). Für einen Index können wie folgt mehrere Spalten angegeben werden: "+COL1;-COL2;+COL3". <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd"> <Root> <AddJdbcMaster> <Database>jdbc:db2:MPFLEGE</Database> <Driver>COM.ibm.db2.jdbc.app.DB2Driver</Driver> <UserId>db2admin</UserId> <Password>db2admin</Password> </AddJdbcMaster> <AddJdbcMirror> <Database>jdbc:db2:S_MP2</Database> <Driver>COM.ibm.db2.jdbc.app.DB2Driver</Driver> <UserId>db2admin</UserId> <Password>db2admin</Password> <SyncWindow>60</SyncWindow> </AddJdbcMirror> <AddJdbcSubscription Replicate="TRUE"> <Name>JDBCSUB_2</Name> <SubAdapter>DSYJDBC</SubAdapter> <EncryptionLevel>0</EncryptionLevel> <Block>N</Block> <MasterDb>jdbc:db2:MPFLEGE</MasterDb> <MasterDriver>COM.ibm.db2.jdbc.app.DB2Driver</MasterDriver> <MirrorDb>jdbc:db2:S_MP2</MirrorDb> <MirrorDriver>COM.ibm.db2.jdbc.app.DB2Driver</MirrorDriver> <AddTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPPERSON</TargetTable> <SourceSchema>DSYSAMPLE</SourceSchema> <SourceTable>MPPERSON</SourceTable> <DeleteAuth>Y</DeleteAuth> <InsertAuth>Y</InsertAuth> <UpdateAuth>Y</UpdateAuth> <SelectAuth>Y</SelectAuth> <WhereClauseMirrorToMobile>STADT=:STADT</WhereClauseMirrorToMobile> <WhereClauseMasterToMirror></WhereClauseMasterToMirror> <JoinFilter>G</JoinFilter> <Order>1</Order> <Encrypt>N</Encrypt> <AddColumn> <SourceColumn>ID</SourceColumn> <TargetColumn>ID</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>Y</Key> </AddColumn> <AddColumn> <SourceColumn>NAME</SourceColumn> <TargetColumn>NAME</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>ADRESSE</SourceColumn> <TargetColumn>ADRESSE</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>STADT</SourceColumn> <TargetColumn>STADT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>RUFNR_PRIVAT</SourceColumn> <TargetColumn>RUFNR_PRIVAT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>RUFNR_GESCHÄFTL</SourceColumn> <TargetColumn>RUFNR_GESCHÄFTL</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>MOBILTELEFON</SourceColumn> <TargetColumn>MOBILTELEFON</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddIndex> <Name>IDX_STADT</Name> <ColNames>+STADT;</ColNames> </AddIndex> </AddTable> </AddJdbcSubscription> </Root> Beispiel zum Entfernen von Tabellen aus einer JDBC-Subskription: Dieses Beispiel entfernt zwei Tabellen aus der Subskription 'JDBCSUB_2'. (Dabei wird davon ausgegangen, dass in der Subskription viele Tabellen vorhanden sind.) Die Tabellen einer Subskription werden durch ihr Zielschema und ihre Zielnamen angegeben. Wenn Tabellen aus einer Subskription ausgeschlossen werden, werden diese Tabellen in der Spiegeldatenbank gelöscht. Dies führt möglicherweise zu Datenverlust, wenn für diese Tabellen Synchronisationsdaten anstehen, die noch nicht in die Quellendatenbank repliziert wurden. Das Attribut Replicate="TRUE" weist das XML-Tool an, vorhandene Daten zu replizieren, bevor diese Tabellen gelöscht werden. In einigen Fällen ist bei der Verwaltung bekannt, dass keine Daten repliziert werden müssen. In diesem Fall können Sie Replicate="FALSE" verwenden, damit das Script schneller ausgeführt wird. Außerdem können bestimmte Probleme vermieden werden, die eine erfolgreiche Replikation verhindern, wenn Sie Replicate="FALSE" angeben. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AlterJdbcSubscription Replicate="TRUE"> <Name>JDBCSUB_2</Name> <JdbcSubscription> <RemoveTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPPERSON</TargetTable> </RemoveTable> <RemoveTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPKRANKENAKTE</TargetTable> </RemoveTable> </JdbcSubscription> </AlterJdbcSubscription> </Root> Hinzufügen von Tabellen zu einer JDBC-Subskription Dieses Beispiel zeigt, wie Sie einer vorhandenen Subskription Tabellen hinzufügen. Der Befehl <Order> weist XML Scripting Tool an, diese Tabelle MPKRANKENAKTE die zweite Tabelle in dieser Subskription zu machen. Wenn bereits mehr als eine Tabelle vorhanden ist, werden die anderen Tabellen an die dritte, vierte und fünfte Stelle versetzt. Die Geräte, die von dieser Änderung betroffen sind, empfangen neue Konfigurationsinformationen und werden entsprechend angepasst. Wenn weniger als zwei Tabellen in dieser Subskription vorhanden sind, wird diese Tabelle die letzte Tabelle. Die Markierung Replicate="FALSE" weist XML Scripting tool an, diese neue Tabelle nicht zu replizieren, nachdem sie im Spiegel erstellt worden ist. Dadurch bleibt die Spiegeltabelle leer, und es sind keine Daten für eine Synchronisation vorhanden. Aus diesem Grund bleibt die Subskription bis zur nächsten erfolgreichen Replikation blockiert (sie kann nicht synchronisiert werden), bei der diese Tabelle mit Daten von der Quelle gefüllt wird und für eine Synchronisation vorbereitet wird. Beim Hinzufügen einer neuen Tabelle zu einer vorhandenen oder neuen Subskription müssen alle Spalten dieser Quellentabelle mit ihren Synchronisations- und Replikationseinstellungen aufgelistet werden. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AlterJdbcSubscription Replicate="FALSE"> <Name>JDBCSUB_2</Name> <JdbcSubscription> <AddTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPKRANKENAKTE</TargetTable> <SourceSchema>DSYSAMPLE</SourceSchema> <SourceTable>MPKRANKENAKTE</SourceTable> <DeleteAuth>Y</DeleteAuth> <InsertAuth>Y</InsertAuth> <UpdateAuth>Y</UpdateAuth> <SelectAuth>Y</SelectAuth> <WhereClauseMirrorToMobile></WhereClauseMirrorToMobile> <WhereClauseMasterToMirror></WhereClauseMasterToMirror> <JoinFilter>G</JoinFilter> <Order>2</Order> <Encrypt>N</Encrypt> <AddColumn> <SourceColumn>SATZ_ID</SourceColumn> <TargetColumn>SATZ_ID</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>Y</Key> </AddColumn> <AddColumn> <SourceColumn>DATUM</SourceColumn> <TargetColumn>DATUM</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>ZEIT</SourceColumn> <TargetColumn>ZEIT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>PATIENTEN_ID</SourceColumn> <TargetColumn>PATIENTEN_ID</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>BLUTDRUCK</SourceColumn> <TargetColumn>BLUTDRUCK</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>PULSFREQUENZ</SourceColumn> <TargetColumn>PULSFREQUENZ</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>TEMPERATUR</SourceColumn> <TargetColumn>TEMPERATUR</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>GEWICHT</SourceColumn> <TargetColumn>GEWICHT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>BEMERKUNG</SourceColumn> <TargetColumn>BEMERKUNG</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> </AddTable> </JdbcSubscription> </AlterJdbcSubscription> </Root> Ändern vorhandener Tabellen einer JDBC-Subskription Dieses Beispiel zeigt, wie Sie die Details von vorhandenen Tabellen in vorhandenen Subskriptionen ändern: Dieses Script modifiziert die WHERE-Klauseln, die eine horizontale Filterung für die Replikation und Synchronisation ausführen. Weil Replicate="TRUE" angegeben ist, wird der vorhandene Spiegel in die Quellendatenbank repliziert, bevor eine Änderung vorgenommen wird. Danach werden Änderungen angewendet, und eine erneute Replikation wird versucht. Diese zweite Replikation kann fehlschlagen, wenn ein Fehler in der WHERE-Klausel enthalten ist. In diesem Fall müssen Sie Ihre Änderungen mit einem weiteren Befehl 'AlterJdbcSubscription' und der Markierung Replicate="FALSE" zurücknehmen. Sie können die Replikation auch manuell ausführen, indem Sie dsyreplicate.bat in der Befehlszeile ausführen, nachdem Ihre Änderungen angewendet wurden. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AlterJdbcSubscription Replicate="TRUE"> <Name>JDBCSUB_2</Name> <JdbcSubscription> <AlterTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPPERSON</TargetTable> <Table> <WhereClauseMirrorToMobile>NAME like :PREFIX</WhereClauseMirrorToMobile> <WhereClauseMasterToMirror>NAME like 'A%'</WhereClauseMasterToMirror> </Table> </AlterTable> </JdbcSubscription> </AlterJdbcSubscription> </Root> Hinzufügen und Entfernen von Indizes Dieses Beispiel fügt einer vorhendenen Tabelle einen neuen Index (IDX1_a) hinzu und entfernt einen vorhandenen Index (IDX1_b) aus dieser Tabelle. Weil für den Index MirrorOnly="TRUE" nicht angegeben ist, wird dieser Index auch auf den Zielgeräten erstellt, die diese Subskription subskribieren. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AlterJdbcSubscription Replicate="FALSE"> <Name>JDBCSUB_2</Name> <JdbcSubscription> <AlterTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPPERSON</TargetTable> <Table> <AddIndex> <Name>IDX1_a</Name> <ColNames>+NAME;</ColNames> </AddIndex> <RemoveIndex> <Name>IDX1_b</Name> </RemoveIndex> </Table> </AlterTable> </JdbcSubscription> </AlterJdbcSubscription> </Root>
Der Befehl <AddReplMaster> definiert Quellendatenbankverbindungsinformationen. Das System, das Exemplar, die Datenbank und das Kennwort sind erforderlich. Der Befehl <AddReplMirror> definiert Spiegeldatenbankverbindungsinformationen. Die Datenbank, die Benutzer-ID, das Kennwort und das Synchronisationsfenster (Replikationshäufigkeit) sind erforderlich. Replikationsmaster- (DPropR-) und Spiegelinformationen müssen definiert werden, bevor eine DPropR-Subskription auf diese Datenbanken verweisen kann. Der Befehl <AddDpropRSubscription> definiert eine DPropR-Subskription für Sync Server. Der Replikationsmechanismus zwischen der Quellen- und der Spiegeldatenbank muss bereits über Data Propagator-Tools konfiguriert sein, als ob das XML-Tool oder Sync Server nicht vorhanden wären. Das XML-Tool setzt an der Stelle fort, an der eine Sync Server-spezifische Konfiguration benötigt wird. Lesen Sie die Data Propagator-Dokumentation, um herauszufinden, wie Sie Replikationsquellen und eine Replikationssubskription konfigurieren, um Ihre Quelle und Ihren Spiegel zu replizieren. Die Spiegeltabellen müssen bereits erstellt sein, bevor Sie das XML-Tool verwenden können, um Ihr DPropR-Replikationssystem über die Sync Server-DPropR-Subskription, die Sie hier erstellen, in Sync Server einzufügen. Der Befehl <AddDProprSubscription> muss mindestens einen Befehl <AddTable> enthalten. Die Befehle <AddTable> sollten alle Spalten der Spiegeltabelle auflisten, um Replikations- und Synchronisationsoptionen für alle Spalten mit dem Befehl <AddColumn> anzugeben. Bei DPropR-Subskriptionen ruft das XML-Tool Tabellenbeschreibungen von der Spiegeldatenbank ab, anders als bei JDBC-Subskriptionen, die dazu die Quellendatenbank verwenden. Die Befehle <SourceSchema> und <SourceTable> geben eine Tabelle in der Quellendatenbank an, die subskribiert wird. Die Befehle <TargetSchema> und <TargetTable> geben eine Tabelle in der Spiegeldatenbank an, die subskribiert wird. Diese Namen werden auch auf den mobilen Geräten verwendet. Die Befehle <AddTable> geben möglicherweise Indizes für die Tabellenspalten mit Hilfe des Befehls <AddIndex> an. Indexnamen müssen im gesamten System eindeutig sein, damit das System einfach bleibt. Das unten angegebene Beispiel erstellt eine DPropR-Subskription mit dem Namen 'DPSUB1', die die Datenbank MPFLEGE als Quelle und S_MPFLEGE als Spiegel verwendet. In dieser Subskription gibt es nur eine Tabelle, in der mehrere Spalten und ein aufsteigender Index definiert sind (ein Pluszeichen '+' vor der Indexspalte bedeutet aufsteigend, ein Minuszeichen '-' bedeutet absteigend). Für einen Index können wie folgt mehrere Spalten angegeben werden: "+COL1;-COL2;+COL3". <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AddReplMaster> <System>SAD_LPT</System> <Instance>DB2</Instance> <Database>MPFLEGE</Database> <UserId>db2admin</UserId> <Password>db2admin</Password> <DatabaseAlias>MPFLEGE</DatabaseAlias> </AddReplMaster> <AddReplMirror> <Database>S_MPFLEGE</Database> <UserId>db2admin</UserId> <Password>db2admin</Password> <SyncWindow>3600</SyncWindow> </AddReplMirror> <AddDproprSubscription Replicate="FALSE"> <Name>DPSUB1</Name> <SubAdapter>DSYDPROPR</SubAdapter> <EncryptionLevel>0</EncryptionLevel> <Block>N</Block> <MasterSystem>SAD_LPT</MasterSystem> <MasterInstance>DB2</MasterInstance> <MasterDb>MPFLEGE</MasterDb> <MirrorDb>S_MPFLEGE</MirrorDb> <AddTable> <TargetSchema>DSYSAMPLE</TargetSchema> <TargetTable>MPKRANKENAKTE</TargetTable> <SourceSchema>DSYSAMPLE</SourceSchema> <SourceTable>MPKRANKENAKTE</SourceTable> <DeleteAuth>Y</DeleteAuth> <InsertAuth>Y</InsertAuth> <UpdateAuth>Y</UpdateAuth> <SelectAuth>Y</SelectAuth> <WhereClauseMirrorToMobile></WhereClauseMirrorToMobile> <WhereClauseMasterToMirror></WhereClauseMasterToMirror> <JoinFilter>G</JoinFilter> <Order>1</Order> <Encrypt>N</Encrypt> <AddColumn> <SourceColumn>SATZ_ID</SourceColumn> <TargetColumn>SATZ_ID</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>Y</Key> </AddColumn> <AddColumn> <SourceColumn>DATUM</SourceColumn> <TargetColumn>DATUM</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>ZEIT</SourceColumn> <TargetColumn>ZEIT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>PATIENTEN_ID</SourceColumn> <TargetColumn>PATIENTEN_ID</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>BLUTDRUCK</SourceColumn> <TargetColumn>BLUTDRUCK</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>PULSFREQUENZ</SourceColumn> <TargetColumn>PULSFREQUENZ</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>TEMPERATUR</SourceColumn> <TargetColumn>TEMPERATUR</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>GEWICHT</SourceColumn> <TargetColumn>GEWICHT</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> <AddColumn> <SourceColumn>BEMERKUNG</SourceColumn> <TargetColumn>BEMERKUNG</TargetColumn> <Subscribe>Y</Subscribe> <Replicate>Y</Replicate> <Key>N</Key> </AddColumn> </AddTable> </AddDproprSubscription> </Root>
Der Befehl <AddGroup> definiert eine Gruppe für Sync Server. Benutzer, die Daten mit Sync Server synchronisieren können, müssen vorhandenen Gruppen zugeordnet werden. Die Gruppe wird durch ihren Namen angegeben. Sie kann für die Synchronisation aktiviert oder inaktiviert werden. Für eine Gruppe kann mit Hilfe des Befehls <AddDataFilter> mindestens ein Datenfilter definiert werden. Diese Datenfilter werden in WHERE-Klauseln von subskribierten Tabellen verwendet, um eine horizontale Filterung auszuführen. Für eine Gruppe kann z. B. ein Datefilter mit dem Namen ':STADT' definiert sein. Die WHERE-Klausel einer Tabelle kann eine Bedingung wie z. B. MYSCHEMA.MYTABLE.CITYCOLUMN=:STADT angeben. Wenn wir in diesem Fall diese Gruppe erstellen und ihre Benutzer synchronisieren, könnten wir standardmäßig Zeilen auswählen, für die MYSCHEMA.MYTABLE.CITYCOLUMN='SAN JOSE' gilt. Beachten Sie, dass einzelne Benutzer einen Datenfilter ihrer Gruppe außer Kraft setzen können, um einen anderen Datenfilterwert anzugeben. Ein Benutzer kann keinen Datenfilter außer Kraft setzen, der von seiner Gruppe nicht zur Verfügung gestellt wird. Im unten angegebenen Beispiel wird der Benutzer 'nurse_2' erstellt und 'GROUP_2' zugewiesen. Es setzt den Datenfilter :STADT außer Kraft, um einen spezifischen Städtenamen für 'nurse_2' anzugeben. Dieser Benutzer setzt allerdings nicht den Datenfilter ':LAND' außer Kraft. Er übernimmt den Datenfilter ':LAND' von seiner Gruppe 'GROUP_2', wobei der Wert 'USA' ist. Schließlich wird dieser neuen Gruppe 'GROUP_2' ein vorhandenen Benutzer mit dem Namen 'nurse_3' zugeordnet. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AddGroup> <Name>GROUP_2</Name> <Description>Testgruppe</Description> <Enabled>Y</Enabled> <AddDataFilter> <Name>:STADT</Name> <Value>'SAN JOSE'</Value> </AddDataFilter> <AddDataFilter> <Name>:LAND</Name> <Value>'USA'</Value> </AddDataFilter> <IncludeSubscriptionSet> <Name>SUBSET_2</Name> </IncludeSubscriptionSet> </AddGroup> <AddUser> <Name>nurse_2</Name> <UserGroup>GROUP_2</UserGroup> <Description>Testbenutzer</Description> <Password>nurse_2</Password> <OverrideDataFilter> <Name>:STADT</Name> <Value>SANTA CLARA</Value> </OverrideDataFilter> </AddUser> <AlterUser> <Name>nurse_3</Name> <User> <UserGroup>GROUP_2</UserGroup> </User> </AlterUser> </Root> Ein weiteres Beispiel zum Ändern der Details eines Synchronisationsbenutzers: Dieses Script ändert die Beschreibung eines Benutzers mit dem Namen nurse_5, legt ein neues Kennwort fest und setzt den Datenfilter :DF1 außer Kraft, den der Benutzer von seiner zugeordneten Gruppe (egal welche) übernimmt. Wenn für die aktuelle Gruppe des Benutzers kein Datenfilter mit dem Namen :DF1 vorhanden ist, schlägt dieses Script fehl, und es werden keine Änderungen für diesen Befehl <AlterUser> angewendet. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd"> <Root> <AlterUser> <Name>nurse_5</Name> <User> <Description>Neue Beschreibung</Description> <Password>nurse5pass</Password> <OverrideDataFilter> <Name>:DF1</Name> <Value>-1</Value> </OverrideDataFilter> </User> </AlterUser> </Root>
Der Befehl <AddSubscriptionSet> definiert eine neue Subskriptionsgruppe für die Synchronisation. Der Befehl <IncludeSubscription> wird verwendet, um dieser Subskriptionsgruppe vorhandene Subskriptionen zuzuordnen. In diesem Beispiel ist in Subskriptionsgruppe SUBSET_2 der Inhalt JDBCSUB_2 und FILESUB_3 enthalten, wobei dieses Beispiel davon ausgeht, dass JDBCSUB_2 und FILESUB_3 vorhandene Subskriptionen sind. Die Reihenfolge der Subskriptionen in einer Subskriptionsgruppe ist standardmäßig die Reihenfolge, in der sie in der XML angezeigt werden. In diesem Beispiel wird JDBCSUB_2 vor FILESUB_3 synchronisiert. Der Befehl <Order> kann im Befehl <IncludeSubscription> angegeben werden, um explizit eine relative Reihenfolge anzugeben. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AddSubscriptionSet> <Name>SUBSET_2</Name> <IncludeSubscription> <Name>JDBCSUB_2</Name> </IncludeSubscription> <IncludeSubscription> <Name>FILESUB_3</Name> </IncludeSubscription> </AddSubscriptionSet> </Root> Beispiel zum Ändern einer vorhandenen Subskriptionsgruppe: Dieses Beispiel fügt eine Subskription mit dem Namen 'JDBCSUB_4' (in der Annahme, dass JDBCSUB_4 bereits vorhanden ist) der Subskriptionsgruppe 'SUBSET_2' hinzu und legt diese neue Subskription als erste Subskription in dieser Subskriptionsgruppe fest. <?xml version="1.0"?> <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting /mdas3.dtd"> <Root> <AlterSubscriptionSet> <Name>SUBSET_2</Name> <SubscriptionSet> <IncludeSubscription> <Name>JDBCSUB_4</Name> <Order>1</Order> </IncludeSubscription> </SubscriptionSet> </AlterSubscriptionSet> </Root>
Zugehörige Konzepte
Zugehörige Tasks
Zugehörige Referenzen