Vor dem Ausführen des Setupskripts sollten Sie die folgenden Anforderungen berücksichtigen:
Der gleiche Datenbankbenutzer, der das Setupskript ausführt, wird als Benutzer erwartet, der die MobiLink-Systemtabellen während
der Synchronisation aktualisiert. Dieser Benutzer muss verwendet werden, um den MobiLink-Server zu starten und MobiLink-Anwendungen
zu konfigurieren. Siehe Erforderliche Berechtigungen.
Der RDBMS-Benutzer, der mithilfe des MobiLink-Servers eine Verbindung mit der konsolidierten Datenbank herstellt, muss in
der Lage sein, die MobiLink-Systemtabellen, -Prozeduren usw. ohne Qualifizierer zu verwenden (Beispiel: SELECT * from ml_user).
Siehe Systemtabellen des MobiLink-Servers.
Die Login-ID für den MobiLink-Server muss die EXECUTE-Berechtigung für die SP_IQTRANSACTION-Systemprozedur für Sybase IQ besitzen.
Um Sybase IQ für die Verwendung als konsolidierte MobiLink-Datenbank einzurichten, müssen Sie eine Setupprozedur ausführen,
die Systemtabellen, gespeicherte Prozeduren, Trigger und Ansichten hinzufügt, die für die MobiLink-Synchronisation erforderlich
sind. Es gibt mehrere Möglichkeiten, dies durchzuführen:
Führen Sie das Setupskript synciq.sql aus, das sich im Verzeichnis %SQLANY12%\MobiLink\Setup befindet.
Wenn Uploads Daten enthalten, durch die Synchronisationstabellen geändert werden, die im IQ-Speicher definiert wurden, und
wenn der MobiLink-Server mit mehreren gleichzeitigen Datenbank-Worker-Threads ausgeführt wird, müssen alle Uploads serialisiert
werden, da der Sybase IQ 15-Server es jeweils nur einer einzigen Verbindung erlaubt, eine bestimmte Tabelle im IQ-Speicher
zu ändern.
Diese Anforderung kann erfüllt werden, wenn das begin_upload-Verbindungsskript so geschrieben wird, dass es die folgende SQL-Anweisung
enthält oder verwendet:
LOCK TABLE table_name IN WRITE MODE WAIT time_string
Dabei gilt: Der Tabellenname ist der Name einer Tabelle, die im IQ-Speicher definiert ist, und die Zeit-Zeichenfolge time_string
gibt die maximale Zeitspanne an, für die die Tabelle gesperrt werden kann. Die Tabelle kann einfach gehalten werden, wie in
der folgenden Definition:
create table coordinate_upload ( c1 int )
Die Tabelle muss keine Daten enthalten.
Alle Transaktionen, die IQ-Tabellen ändern, müssen serialisiert werden, egal ob sie auf MobiLink-Serververbindungen oder auf
anderen Verbindungen mit der IQ-Datenbank auftreten. Für MobiLink-Servertransaktionen kann die oben beschriebene Logik ebenfalls
verwendet werden. Diese Methode ist effizienter, als den MobiLink-Server jede Transaktion automatisch wiederholen zu lassen,
und liefert eine bessere Performance.
Beim Erstellen eines Synchronisationsmodells für eine konsolidierte Sybase IQ-Datenbank erfolgen die Tabellenzuordnungen für
IQ-Tabellen standardmäßig als reiner Download. Wenn Sie Zuordnungen auf bidirektional oder reinen Upload ändern, müssen Sie
sicherstellen, dass die Änderungen dieser IQ-Tabellen serialisiert werden. Dies ist z.B. durch das Hinzufügen eines begin_upload-Ereignisses
möglich, wie oben beschrieben.