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 Microsoft SQL Server-Datenbank

Microsoft SQL-Server als konsolidierte Datenbank einrichten
Hinweis

Der Datenbankbenutzer, der Setupskripten ausführt, muss in der Lage sein, Tabellen, Trigger und gespeicherte Prozeduren zu erstellen. Daher muss er die db_owner-Rolle haben.

Um Microsoft SQL Server 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 syncmss.sql aus, das sich unter Installationsverzeichnis\MobiLink\setup befindet.

  • Wählen Sie im MobiLink-Plug-In in Sybase Central Modus » Admin, 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. Wenn Sie eine vorhandene MobiLink-Systemeinrichtung verwenden wollen, muss default_schema das Schema der MobiLink-Systemeinrichtung sein.

  • 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.

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 SQL Server-Datenbank muss eine ODBC-Datenquelle (DSN) eingerichtet werden. Verwenden Sie dazu den ODBC-Treiber, der mit der SQL Server-Datenbank zur Verfügung gestellt wurde. Weitere Hinweise finden Sie unter:

Hinweise zu SQL Server
  • SET NOCOUNT ON   Für Microsoft SQL Server müssen Sie SET NOCOUNT ON als erste Anweisung in allen gespeicherten Prozeduren oder SQL-Batches angeben, die über ODBC ausgeführt werden. Ohne diese Option können Netzwerkpuffer überlaufen und dabei unbemerkt Daten verlieren. Hierbei handelt es sich um ein bekanntes Problem von SQL Server.

  • Prozeduraufrufe   Microsoft SQLServer erfordert, dass Prozeduraufrufe mit Parametern unter Verwendung der ODBC-Syntax geschrieben werden:
    { CALL procedure_name( {ml Param1}, {ml Param2}, ... ) }

  • CHAR-Spalten   In Microsoft SQL Server 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 Microsoft SQL Server-Datentypzuordnung.

  • Probleme mit Beispieldatenbanken   Die SQL Server-Beispieldatenbank AdventureWorks enthält berechnete Spalten. Eine berechnete Spalte kann nicht synchronisiert werden. Sie können die Spalte für reinen Download definieren oder die Spalte von der Synchronisation ausschließen.

  • Konflikterkennung in einem upload_update-Skript implementieren   Das Verhalten der SQL-Serveroption NOCOUNT bewirkt, dass der MobiLink-Server manchmal nicht genau bestimmen kann, wie viele Zeilen von einem Uploadskript geändert wurden. Für SQL Server ist es sicherer, eine gespeicherte Prozedur im upload_update-Skript für die Konflikterkennung zu implementieren.

Isolationsstufe

Weitere Hinweise finden Sie unter MobiLink-Isolationsstufen.