Entfernt bei Spalten des Typs VARCHAR, CHAR, LONG VARCHAR oder LONG CHAR nachgestellte Leerzeichen aus den Zeichenfolgen während der Synchronisation.
mlsrv11 -c "Verbindungszeichenfolge" -b ...
Verwenden Sie in der konsolidierten Datenbank unbedingt VARCHAR anstelle von CHAR, um dieses Problem zu vermeiden.
Mit dieser Option sollen Unterschiede zwischen dem SQL Anywhere CHAR-Datentyp und dem CHAR- oder VARCHAR-Datentyp aufgelöst werden, die von der konsolidierten Datenbank verwendet werden. Der SQL Anywhere CHAR-Datentyp entspricht VARCHAR. In den meisten konsolidierten Datenbanken, die nicht unter SQL Anywhere laufen, ist der CHAR(n)-Datentyp mit Leerzeichen auf n Zeichen aufgefüllt.
Wenn -b angegeben wird, entfernt der MobiLink-Server nachgestellte Leerzeichen aus Zeichenfolgen für Spalten des Typs CHAR, VARCHAR, LONG CHAR oder VARCHAR, wenn die Spalte in der entfernten Datenbank eine Zeichenfolge ist. Dies erfolgt, bevor Zeilen gefiltert werden, für die in der aktuellen Synchronisation ein Upload erfolgte. Die gekürzten Daten werden dann in einem Download in die entfernten Datenbanken eingelesen.
Diese Option kann auch verwendet werden, um Konfliktaktualisierungen zu erkennen. Für jede aktualisierte Uploadzeile holt der MobiLink-Server die Zeile aus der konsolidierten Datenbank für den angegebenen Primärschlüssel, vergleicht die Zeile mit dem Pre-Image der Aktualisierung und bestimmt dann, ob die Aktualisierung einen Konflikt bewirkt. Wenn -b verwendet wird, kürzt MobiLink nachgestellte Leerzeichen aus Spalten des Typs CHAR, VARCHAR, LONG CHAR oder LONG VARCHAR, bevor der Vergleich vorgenommen wird.
Wenn die Option -b nicht verwendet wird, wird ein Primärschlüsselwert 'abc' in einem Upload von einer entfernten SQL Anywhere- oder UltraLite-Datenbank in eine CHAR(10)-Spalte in der konsolidierten Datenbank zu 'abc' gefolgt von sieben Leerstellen umgewandelt. Wenn für dieselbe Zeile ein Download erfolgt, erscheint sie in der entfernten Datenbank als 'abc' gefolgt von sieben Leerstellen. Wenn die entfernte Datenbank keine Leerzeichenfüllung hat, enthält die entfernte Datenbank jetzt zwei Zeilen: 'abc' und 'abc' mit sieben Leerstellen. In der entfernten Datenbank gibt es jetzt eine Duplikatzeile.
Wenn die Option -b verwendet wird, wird der Primärschlüsselwert 'abc' in einem Upload von einer entfernten SQL Anywhere- oder UltraLite-Datenbank in eine CHAR(10)-Spalte in der konsolidierten Datenbank zu 'abc', gefolgt von sieben Leerzeichen, umgewandelt. Mit den sieben Leerstellen wird der Wert immer noch auf zehn Zeichen aufgefüllt, aber wenn dieselbe Zeile in einem Download übertragen wird, kürzt der MobiLink-Server die nachgestellten Leerzeichen und der Wert erscheint in der entfernten Datenbank als 'abc'. Die Option -b behebt das Problem der Duplikatzeile.
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 |