Der MobiLink-Server unterstützt MySQL Community- und Enterprise-Server der Version 5.1.3 oder höher. QAnywhere unterstützt kein MySQL.
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.
Um MySQL für die Verwendung als MobiLink-konsolidierte Datenbank einzurichten, müssen Sie eine Einrichtungsprozedur durchführen, die Systemtabellen, gespeicherte Prozeduren, Trigger und Ansichten hinzufügt, die für die MobiLink-Synchronisation erforderlich sind. Es gibt zwei Möglichkeiten, dies durchzuführen:
Führen Sie mithilfe des MySQL-Befehlszeilentools oder des MySQL Query Browsers das Setupskript syncmys.sql aus, das sich unter Installationsverzeichnis\MobiLink\setup befindet. Stellen Sie sicher, dass Ihre MySQL-Benutzer-ID über die Berechtigungen zur Erstellung von Triggern verfügt.
Wählen Sie im MobiLink 12-Plug-In für Sybase Central im Menü Ansicht die Option Ordner. Öffnen Sie Ihr MobiLink-Projekt und erweitern Sie Konsolidierte Datenbanken. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen, und wählen Sie MobiLink-Systemeinrichtung überprüfen. Wenn die Datenbank ein Setup benötigt, werden Sie aufgefordert, fortzufahren. Beachten Sie: Wenn Sie eine vorhandene MobiLink-Systemeinrichtung verwenden wollen, muss default_schema das Schema der MobiLink-Systemeinrichtung sein.
Für die konsolidierte MySQL-Datenbank muss eine ODBC-DSN eingerichtet werden. Verwenden Sie dazu den ODBC-Treiber, der auf der MySQL-Website zur Verfügung steht. Der MobiLink-Server unterstützt MySQL ODBC-Treiber 5.1.3 oder höher. Siehe:
Führen Sie zum Festlegen der ODBC-Konfigurationsdatei in UNIX eine der folgenden Aktionen aus:
Datentyp-Zuordnungen Die Datentypen von Spalten müssen korrekt zwischen der konsolidierten Datenbank und den entfernten Datenbanken zugeordnet werden. Weitere Hinweise finden Sie unter MySQL-Datenzuordnung.
Speicher-Engine Der MobiLink-Server erfordert, dass die Standard-Speicher-Engine ACID-kompatibel ist. Wenn die Standard-Speicher-Engine nicht ACID-kompatibel ist, müssen Sie sicherstellen, dass alle Tabellen des MobiLink-Servers mit einer ACID-kompatiblen Speicher-Engine erstellt werden, wie z.B. InnoDB und Falcon.
Gespeicherte Prozeduren Es ist nicht möglich, die Parameter INOUT und OUT in Aufrufen aus gespeicherten Prozeduren zu verwenden. Prozeduren, die diese Parameter erfordern, müssen als Funktionen implementiert werden, die einen OUT-Wert zurückgeben.
Serverereignisse, die INOUT-Parameter erfordern, z.B. authenticate_user und modify_user, müssen als Funktionen implementiert werden und mit einer SELECT-Anweisung anstelle einer CALL-Anweisung ausgeführt werden.
Benannte Parameter Benutzerdefinierte benannte Parameter werden nicht unterstützt.
Cursor-Skripten Die Ereignisse upload_fetch, download_cursor und download_delete_cursor müssen mithilfe einer SELECT-Anweisung aufgerufen werden, die vom MobiLink-Server unter Verwendung einer Isolationsstufe zum Lesen festgeschriebener Anweisungen ausgeführt werden. Ein Bug im MySQL ODBC-Treiber führt dazu, dass nicht festgeschriebene Anweisungen, wie z.B. INSERT, UPDATE und DELETE-Anweisungen, vom Server gelesen werden. Dies führt zu dazu, dass die Daten in der konsolidierten und der entfernten Datenbank inkonsistent sind.
Als Behelfslösung für dieses Problem sollten Sie eine LOCK IN SHARE MODE-Klausel in Ihre SELECT-Anweisungen einbeziehen. Zum Beispiel:
SELECT column1 FROM table1 WHERE id > 0 LOCK IN SHARE MODE |
Diese Klausel schützt die SELECT-Anweisung vor nicht festgeschriebenen Vorgängen.
Massen-Upload Der MySQL-ODBC-Treiber unterstützt zurzeit keinen Massen-Upload.
MLSD Der MySQL-ODBC-Treiber umfasst zurzeit keine Unterstützung für MSDTC, daher wird eine separate MLSD nicht unterstützt.
SQLLEN-Datentypen auf dem 64-Bit-MobiLink-Server für UNIX Der MySQL-ODBC-Treiber definiert SQLLEN als 32-Bit-Ganzzahl. Dadurch kommt es zu einer Diskrepanz mit dem 64-Bit-MobiLink-Server, der SQLLEN als 64-Bit-Ganzzahl definiert. Wenn Sie MobiLink in einer 64-Bit-UNIX-Umgebung ausführen, müssen Sie der ODBC-Konfigurationsdatei Folgendes hinzufügen:
length32=1 |
Dieser Eintrag zwingt den Server, SQLLEN als 32-Bit-Ganzzahl zu lesen. Die Konfiguration sollte ähnlich dem folgenden Beispiel aussehen:
[a_mysql_dsn] Driver=full_path/libmyodbc5.so server=host_name uid=user_name pwd=user_password database=database_name length32=1 |
MySQL-Serverkonfiguration Die MobiLink-Synchronisationsskripten sind in der Tabelle ml_script gespeichert und werden bei Bedarf von dort abgerufen. Sie müssen max_allowed_packet in der Datei my.ini möglicherweise auf 16 M oder höher festlegen.
Konflikterkennung Die Skripten, die für die Konfliktlösung mit einer konsolidierten MySQL-Datenbank generiert werden, enthalten mehrere Anweisungen. Falls Sie mit der Konflikterkennung arbeiten, müssen Sie das Kontrollkästchen Allow multiple statements (Mehrere Anweisungen zulassen) auf der Seite Flags 3 (Parameter 3) des Fensters MySQL Connector/ODBC Data Source Configuration (MySQL-Konnektor/ODBC-Datenquellen Konfiguration) aktivieren, wenn Sie einen DSN konfigurieren, die der MobiLink-Server für Verbindungen zu Ihrer MySQL-Datenbank verwendet.
Mehrere Anweisungen Falls eines Ihrer Synchronisationsskripten SQL-Befehle in durch Semikolons getrennten Batches enthält, müssen Sie möglicherweise das Kontrollkästchen Allow multiple statements (Mehrere Anweisungen zulassen) auf der Seite Flags 3 (Parameter 3) des Fensters MySQL Connector/ODBC Data Source Configuration (MySQL-Konnektor/ODBC-Datenquellen Konfiguration) aktivieren, wenn Sie einen DSN konfigurieren, die der MobiLink-Server für Verbindungen zu Ihrer MySQL-Datenbank verwendet.
Siehe MobiLink-Isolationsstufen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |