MobiLink unterstützt IBM DB2 LUW für Linux, Unix und Windows. IBM DB2 für AS/400 wird von MobiLink nicht unterstützt.
Um DB2 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 mehrere Möglichkeiten, dies durchzuführen:
Führen Sie das Setupskript syncdb2.sql aus, das sich unter Installationsverzeichnis\MobiLink\setup befindet. Bevor Sie die Datei ausführen, müssen Sie sie an einen anderen Speicherort kopieren und ändern. Führen Sie dazu Folgendes aus.
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, dass Schritt 1 des folgenden Verfahrens obligatorisch ist.
Wenn Sie den Assistenten zum Erstellen eines Synchronisationsmodells oder den Assistenten für das Deployment eines Synchronisationsmodells benutzen, wird das Systemsetup beim Verbinden mit der·Serverdatenbank geprüft. Wenn die Datenbank ein Setup benötigt, werden Sie aufgefordert, fortzufahren. Beachten Sie, dass Schritt 1 des folgenden Verfahrens obligatorisch ist.
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.
Um MobiLink-Systemtabellen mit dem Setupskript zu installieren, muss ein IBM DB2 LUW-Tablespace mindestens 8-KByte-Seiten verwenden. Falls der Tablespace keine 8-KByte-Seiten verwendet, führen Sie folgende Schritte aus.
Überprüfen Sie, ob mindestens einer Ihrer Pufferpools 8-KByte-Seiten verwendet. Wenn nicht, erstellen Sie einen Pufferpool mit 8-KByte-Seiten.
Erstellen Sie einen neuen Tablespace und einen temporären Tablespace, die einen Pufferpool mit Seiten von 8 KByte verwenden.
Weitere Hinweise finden Sie in Ihrer DB2 LUW-Dokumentation.
Ergänzen Sie syncdb2.sql mit Ihren Verbindungsdaten:
Kopieren Sie syncdb2.sql an einen neuen Speicherort, wo die Datei geändert und wieder abgespeichert werden kann.
Das Skript syncdb2.sql enthält die Standard-Verbindungsanweisung connect to DB2Database
. Ändern Sie diese Zeile, um eine Verbindung zu Ihrer DB2-Datenbank herzustellen. Verwenden Sie die folgende Syntax:
connect to DB2-Datenbank user Benutzer-ID using Kennwort ~ |
Dabei gilt: DB2-Datenbank, Benutzer-ID und Kennwort sind von Ihnen bereitgestellte Namen. (Im Skript syncdb2.sql wird die Tilde (~) als Trennzeichen zwischen Befehlen verwendet.)
Führen Sie syncdb2.sql aus:
db2 -c -ec -td~ +s -v -f syncdb2.sql |
Für die konsolidierte DB2-Datenbank muss eine ODBC-Datenquelle (DSN) eingerichtet werden. Verwenden Sie dazu den ODBC-Treiber, der mit der DB2-Datenbank zur Verfügung gestellt wurde. Weitere Hinweise finden Sie unter:
Tablespace-Kapazität Der Tablespace und der temporäre Tablespace einer DB2 LUW-Datenbank, die als konsolidierte Datenbank verwendet werden soll, muss 8-KByte-Seiten verwenden.
Außerdem gibt es Spalten, für die ein Tablespace vom Typ LONG erforderlich sind. Wenn es in der Standardkonfiguration keinen Tablespace vom Typ LONG gibt, müssen die Anweisungen zum Erstellen der Tabelle mit diesen Spalten entsprechend angegeben werden. Dazu ein Beispiel:
CREATE TABLE ... ( ... ) IN tablespace LONG IN long-tablespace |
Ein Beispiel in der Beispielanwendung finden Sie unter Einführungen in das MobiLink-Beispiel CustDB.
Variable für die gesamte Sitzung Frühere Versionen von DB2 LUW (bis Version 8) unterstützen keine Variablen für die ganze Sitzung. Eine praktische Lösung ist der Einsatz einer Basistabelle mit Spalten für den MobiLink-Benutzernamen und andere sitzungsbezogene Daten. Diese Basistabelle enthält Zeilen, die gleichzeitige Synchronisationen darstellen.
Benutzerdefinierte Prozeduren DB2 LUW bis Version 8.2 erfordert, dass SQL-Prozeduren in eine ausführbare Bibliothek (wie z.B. eine DLL) kompiliert werden. Die so erstellte DLL/gemeinsam genutzte Bibliothek muss in ein bestimmtes Verzeichnis auf dem Server kopiert werden. Beachten Sie, dass Sie Prozeduren in verschiedenen Sprachen schreiben können, u. a. in C/C++ und Java.
Weitere Hinweise zu Java- und .NET-Synchronisationsskripten finden Sie unter:
CHAR-Spalten In IBM DB2 LUW haben CHAR-Datentypen eine feste Länge und werden bis zur vollen Länge der Zeichenfolge mit Leerzeichen aufgefüllt. In entfernten MobiLink-Datenbanken (SQL Anywhere oder UltraLite) entspricht CHAR dem Datentyp VARCHAR: Werte werden nicht bis zu einer bestimmten Länge mit Leerzeichen aufgefüllt. Verwenden Sie in der konsolidierten Datenbank unbedingt VARCHAR anstelle von CHAR. Wenn Sie CHAR verwenden müssen, können Sie mit der Befehlszeilenoption mlsrv11 -b während der Synchronisation nachgestellte Leerzeichen aus Zeichenfolgen entfernen. Diese Option ist wichtig für Zeichenfolgenvergleiche, mit denen Konflikte erkannt werden.
Weitere Hinweise finden Sie unter Option -b.
Datentypen zuordnen Die Datentypen von Spalten müssen korrekt zwischen der konsolidierten und der entfernten Datenbank abgestimmt und zugeordnet werden. Weitere Hinweise finden Sie unter IBM DB2 LUW-Datentypzuordnung.
Anführungszeichen in Systemprozeduraufrufen verdoppeln Wenn Sie Ihrer konsolidierten DB2-Datenbank Skripten mit einer MobiLink-Systemprozedur hinzufügen, müssen Sie die Anführungszeichen
verdoppeln. Beispiel: Wenn das Skript, das Sie mit ml_add_table_script hinzufügen, für eine beliebige andere konsolidierte
Datenbank die Zeile SET "DELETED"=''Y''
enthält, müssen Sie diese Zeile für DB2 wie folgt schreiben: SET "DELETED" = ''''Y''''
.
Sonderhinweise für Version 5 und älter Wenn Sie eine frühere Version als IBM DB2 LUW Version 6 verwenden, werden Spaltennamen und andere Bezeichner nur bis zu einer Länge von 18 Zeichen unterstützt. Sie müssen also die Namen der MobiLink-Systemprozeduren kürzen. So wird beispielsweise das Skript ml_add_connection_script mit dem gekürzten Namen ml_add_connection_ aufgerufen.
Weitere Hinweise finden Sie unter MobiLink-Isolationsstufen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |