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 eine SELECT-Berechtigung für gv_$transaction und eine EXECUTE-Berechtigung für sys.dbms_utility besitzen. Diese Berechtigungen können mithilfe der entsprechenden Oracle-Syntax der Login-ID für den MobiLink-Server erteilt werden. Dazu müssen Sie eine Verbindung als SYS herstellen. Die Oracle-Syntax zur Erteilung dieser Berechtigung lautet:
grant select on SYS.GV$TRANSACTION to user-name; |
grant execute on SYS.DBMS_UTILITY to user-name; |
Um Oracle 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 syncora.sql aus, das sich unter Installationsverzeichnis\MobiLink\setup befindet.
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. Wenn Sie Aliase für eine vorhandene MobiLink-Systemeinrichtung eingerichtet haben, sollten Sie als der Benutzer eine Verbindung herstellen, dessen Schema die MobiLink-Systemeinrichtung enthält.
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.
Für die konsolidierte Oracle-Datenbank muss eine ODBC-DSN eingerichtet werden. Siehe:
Datentypen zuordnen Die Datentypen von Spalten müssen korrekt zwischen der konsolidierten und der entfernten Datenbank abgestimmt und zugeordnet werden. Siehe Oracle-Datentypzuordnung.
CHAR-Spalten In Oracle 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 mlsrv12-Befehlszeilenoption -b während der Synchronisation nachgestellte Leerzeichen aus Zeichenfolgen entfernen. Diese Option ist wichtig für Zeichenfolgenvergleiche, mit denen Konflikte erkannt werden.
Siehe mlsrv12-Option -b .
Zeitstempel Der MobiLink-Server generiert mithilfe von gv$transaction einen Zeitstempel, der von der entfernten Datenbank bei der nächsten Synchronisation verwendet werden soll. Daher muss die Login-ID für den MobiLink-Server eine SELECT-Berechtigung für gv$transaction besitzen.
Gespeicherte Prozeduren Wenn Sie gespeicherte Prozeduren verwenden, um Ergebnismengen zurückzugeben oder VARRAY-Parameter zu akzeptieren, müssen Sie die Option Prozedur gibt Ergebnisse zurück oder verwendet VARRAY-Parameter für den iAnywhere Solutions 12 - Oracle ODBC-Treiber aktivieren. Darüber hinaus benötigt Sybase Central Prozeduren für die Rückgabe von Ergebnissen, um die zentrale Administration von entfernten Datenbanken verwenden zu können, sodass diese Option bei Verwendung der zentralen Administration aktiviert werden muss.
Variablen für die gesamte Sitzung Sie können sitzungsbezogene Daten in Variablen in Oracle-Paketen speichern. Mit Oracle-Paketen können Variablen erstellt, geändert und gelöscht werden und diese Variablen können verfügbar sein, so lange das betreffende Oracle-Paket aktuell ist.
Methoden für automatisches Inkrementieren Um die Eindeutigkeit von Primärschlüsseln zu erhalten, können Sie mit einer Oracle-Sequenz eine Liste von Schlüsseln erstellen, die der in einem SQL Anywhere-autoincrement-Feld ähnelt. In der Beispieldatenbank CustDB finden Sie Code-Beispiele unter Samples\MobiLink\CustDB\custora.sql. Im Unterschied zu einer autoincrement-Spalte müssen Sie jedoch die Sequenz explizit referenzieren. Bei SQL Anywhere-autoincrement-Spalten wird automatisch ein Spaltenwert eingefügt, wenn die Spalte nicht in einer INSERT-Anweisung referenziert ist.
Oracle unterstützt keine leeren Zeichenfolgen In Oracle wird eine leere Zeichenfolge wie der Wert NULL behandelt. In SQL Anywhere und UltraLite haben leere Zeichenfolgen eine andere Bedeutung als der Wert NULL. Verwenden Sie daher keine leeren Zeichenfolgen in Ihren Client-Datenbanken, wenn Sie mit einer konsolidierten Oracle-Datenbank arbeiten.
Siehe MobiLink-Isolationsstufen.
Verwendung des Oracle-Datentyps VARRAY
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |