Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Servertechnologie verwenden » MobiLink - konsolidierte Datenbanken

 

Konsolidierte MySQL-Datenbank

Der MobiLink-Server unterstützt MySQL-Community und Enterprise-Server der Version 5.1.22 oder höher. QAnywhere- und MobiLink-Modelle unterstützen MySQL nicht.

MySQL als konsolidierte Datenbank einrichten

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-Plug-In für Sybase Central Modus » Admin, und stellen Sie eine Verbindung zur Serverdatenbank her. 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.

Hinweis

Der Datenbankbenutzer, der das Setupskript ausführt, ist die einzige Person, die zum Ändern der MobiLink-Systemtabellen berechtigt ist. Dies ist für die Konfiguration von MobiLink-Anwendungen erforderlich. Weitere Hinweise finden Sie unter 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). Weitere Hinweise finden Sie unter Systemtabellen des MobiLink-Servers.

ODBC-Treiber

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. Weitere Hinweise finden Sie unter:

Führen Sie zum Festlegen der ODBC-Konfigurationsdatei in UNIX eine der folgenden Aktionen aus:

Wenn 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 eine ODBC-DSN für den MobiLink-Server konfigurieren, um Verbindungen mit der MySQL-Datenbank herzustellen.

Hinweise zu MySQL
  • 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.

    Da benutzerdefinierte benannte Parameter nach der Ausführung von Serverereignissen nicht geändert werden, werden sie 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 MobiLink-Server verwendet den MySQL ODBC-Treiber, der aktuell keinen Massen-Upload unterstützt.

  • MLSD   Der MobiLink-Server verwendet den MySQL ODBC-Treiber, der aktuell MSDTC 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.

Isolationsstufe

Weitere Hinweise finden Sie unter MobiLink-Isolationsstufen.