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 - Serverinitiierte Synchronisation » Serverinitiierte Synchronisation einrichten » Listener » Message-Handler » Erweiterte Message-Handler-Funktionen

 

Nachrichten nach entfernter ID filtern

Sie können Nachrichten mit der dblsn-Option -r und der Aktionsvariablen $remote_id nach der entfernten ID filtern.

Wenn eine entfernte SQL Anywhere-Datenbank erstmals synchronisiert wird, wird eine Datei mit der ID der Datenbank erstellt. Der Name der Datei entspricht dem der Datenbank. Die Datei hat die Erweiterung .rid und wird in demselben Verzeichnis gespeichert wie die Datenbank. Für UltraLite-Datenbanken gibt es keine solche Datei. Die entfernte ID wird aus der Datenbank direkt extrahiert.

Starten Sie den MobiLink Listener mit der dblsn-Option -r, um den Namen und den Speicherort der Datei mit der entfernten ID oder die UltraLite-Datenbank anzugeben, und verwenden Sie dann die dblsn-Option -l, um den Message-Handler zu erstellen.

Sie können die entfernte ID direkt in den Nachrichtenfilter eingeben. Entfernte IDs sind standardmäßig GUIDs. Um sich die entfernte ID einfach merken zu können, sollte ein aussagekräftiger Name angegeben werden.

Hinweis

In der dblsn-Befehlszeile können Sie mehrere Instanzen der Optionen -r und -l angeben. Die in der Option -l verwendete Aktionsvariable $remote_id wird immer in der Option -r angegeben, die ihr vorangeht. Daher ist es wichtig, die Option -r vor der Option -l anzugeben.

Das folgende Beispiel zeigt die Verwendung mehrerer entfernter IDs. Es wird vorausgesetzt, dass auf dem Gerät eine SQL Anywhere-Datenbank mit dem Namen business.db und eine UltraLite-Datenbank mit dem Namen personal.udb vorhanden sind. In diesem Beispiel ist ulpersonal der Fensterklassenname der UltraLite-Anwendung.

dblsn ... -r "c:\app\db\business.rid"
    -l "subject=$remote_id;action='dbmlsync.exe -k -c dsn=business';"
    -r "c:\ulapp\personal.udb"
    -l "subject=$remote_id;action=post dbas_synchronize to ulpersonal;"
 Siehe auch