Cursorbasierte Uploads entfernt Die folgenden Skripten wurden in Version 9.0.0 nicht mehr unterstützt und wurden nun entfernt: upload_cursor, new_row_cursor und old_row_cursor. Sie sollten stattdessen anweisungsbasierte Skripten verwenden.
Weitere Hinweise finden Sie unter Skripten für den Upload von Zeilen schreiben.
Nicht erkannte Skripten verursachen Synchronisationsabbruch Wenn der MobiLink-Server auf Tabellen- oder Verbindungsebene auf nicht erkannte Skripten trifft, bricht er die Synchronisation ab. In früheren Versionen führten nicht erkannte Skripten nur zu einer Warnung. Das bedeutet, dass das Vorhandensein cursorbasierter Upload-Skripten zum Abbruch der Synchronisation führt.
Fehler in Upload- oder Download-Skripten verursachen Synchronisationsabbruch Die Synchronisation wird nun immer abgebrochen, wenn der MobiLink-Server auf Fehler in Upload- oder Download-Skripten trifft. Früher brach der MobiLink-Server die Synchronisation nicht immer ab.
Arbeitsweise der Ereignisse handle_error und handle_odbc_error eingeschränkt Die Skripten handle_error und handle_odbc_error werden jetzt nur aufgerufen, wenn ein ODBC-Fehler auftritt, während MobiLink ein Einfüge-, Aktualisierungs- oder Lösch-Skript während der Upload-Transaktion ausführt oder Download-Zeilen abruft. Wenn zu einem anderen Zeitpunkt ein ODBC-Fehler auftritt, ruft der MobiLink-Server das Skript report_error oder report_odbc_error auf und bricht die Synchronisation ab.
Authentifizierungsskript wird festgeschrieben Wenn keine Fehler vorliegen, schreibt der MobiLink-Server die Transaktion immer fest, nachdem er ein authenticate_user-, authenticate_user_hashed- oder authenticate_parameters-Skript aufgerufen hat, selbst wenn die Authentifizierung fehlschlägt. Früher wurden Transaktionen, bei denen die Authentifizierung fehlgeschlagen war, zurückgesetzt, sodass kein zu authentifizierender Datensatz aus fehlgeschlagenen Versuchen vorhanden sein konnte. Weitere Hinweise finden Sie unter:
Änderungen des authenticate_user_hashed-Skripts Das Skript authenticate_user_hashed kann nun während einer Authentifizierungssequenz für einen Benutzer mehrfach aufgerufen werden.
Weitere Hinweise finden Sie unter authenticate_user_hashed (Verbindungsereignis).
Beim Aufruf eines Anfangsskripts wird sein Endskript immer aufgerufen, unabhängig vom Synchronisationserfolg Es gibt mehrere MobiLink-Skripten, die eine Anfangs- und eine Endform besitzen, wie etwa begin_connection und end_connection. In der Vergangenheit wurde das Endskript häufig nicht ausgeführt, wenn die Synchronisation fehlschlug. Nun wird das Endskript immer aufgerufen (sofern es definiert ist), wenn das Anfangsskript aufgerufen wurde, selbst wenn die Synchronisation Fehler enthält.
Weitere Hinweise finden Sie unter Synchronisationsereignisse.
Upload-Skripten werden für eine Tabelle nicht aufgerufen, wenn keine zu übertragenden Daten vorhanden sind In früheren Versionen konnten Sie mit der Option -us verhindern, dass der MobiLink-Server Upload-Skripten aufrief, wenn keine zu übertragenden Daten vorhanden waren. Die Option -us wurde entfernt und der MobiLink-Server ruft nun standardmäßig nur Upload-Skripten auf, wenn der Upload-Datenstrom zu übertragende Daten enthält. Sie können das alte Verhalten mit der Option -zus weiterhin erreichen.
Weitere Hinweise finden Sie unter Option -zus.
Konsolidierte Datenbanken von SQL Anywhere 10 und Microsoft SQL Server 2005 dürfen Isolationsstufe im Skript begin_connection nicht ändern Für SQL Anywhere Version 10 und Microsoft SQL Server 2005 und höher ist die Standard-Isolationsstufe für Downloads nun Snapshot. Das bedeutet, dass die Isolationsstufe zu Beginn der Download-Transaktion geändert werden kann. In diesem Fall werden alle Einstellungen aus dem begin_connection-Skript aufgehoben. Sie sollten daher die Isolationsstufe für Downloads im Skript begin_download ändern oder die neue mlsrv10-Option -dsd verwenden, um die Snapshot-Isolation zu deaktivieren. In der früheren Dokumentation wurde empfohlen, die Isolationsstufe im Skript begin_connection zu ändern. Dies ist weiterhin eine empfohlene Vorgehensweise für konsolidierte Datenbanken, die keine Snapshot-Isolation verwenden.
Weitere Hinweise finden Sie unter MobiLink-Isolationsstufen.
Tabellenereignisse example_upload_cursor, example_upload_delete, example_upload_insert und example_upload_update wurden entfernt Da die MobiLink-Serveroptionen -za und -ze entfernt wurden, werden die Tabellenereignisse example_upload_cursor, example_upload_delete, example_upload_insert und example_upload_update nicht mehr generiert. Sie können nun Skripten mithilfe des Assistenten zum Erstellen eines Synchronisationsmodells generieren.
Weitere Hinweise finden Sie unter Modelle erstellen.
Optionen -w und -wu wurden geändert Die Optionen -w und -wu legen die Anzahl der Datenbank-Worker-Threads bzw. die maximale Anzahl von Datenbank-Worker-Threads für den Upload fest. In früheren Versionen haben diese Worker-Threads alle Aspekte der Synchronisation verarbeitet, einschließlich der Lese- und Schreibvorgänge im Netzwerk, des Packens und Entpackens von Protokoll-Byte und Zeilendaten, des Ausführens von Skripten und des Aktualisierens und Abrufens von Zeilen in der konsolidierten Datenbank.
Nun sind die Worker-Threads durch die Optionen -w und -wu Datenbank-Worker-Threads. Diese Datenbank-Worker-Threads sind ausschließlich für die Datenbankaktivitäten verantwortlich. Für die Netzwerkaktivitäten, das Packen und Entpacken und alle anderen Aktivitäten des MobiLink-Servers sind andere Threads zuständig.
Das neue Verhalten der Optionen -w und -wu ist unabhängig von der Netzwerkaktivität. In früheren Versionen konnte es in Netzwerken mit einer hohen Verarbeitungszeit dazu kommen, dass Worker-Threads blockiert wurden, wodurch es bei einigen Deployments erforderlich war, eine große Anzahl von Worker-Threads festzulegen. In der neuen MobiLink-Architektur wurde diese Erfordernis aufgehoben.
Die Optionen -w und -wu bieten weiterhin die einfachste Möglichkeit, die Datenlast, die der MobiLink-Server auf die konsolidierte Datenbank überträgt, zu begrenzen. Durch das Testen der Werte für -w und -wu können Sie den optimalen Durchsatz für Ihr Synchronisationssystem ermitteln. Weitere Hinweise finden Sie unter:
Optionen zum Einstellen der Cachegröße wurden entfernt Die folgenden mlsrv10-Optionen wurden entfernt:
Diese Optionen wurden durch die mlsrv10-Option -cm ersetzt, die den Cachespeicher für alle Synchronisationen festlegt.
Weitere Hinweise finden Sie unter Option -cm.
Optionen zum Einstellen der Zeitüberschreitung wurden entfernt Die folgenden mlsrv10-Optionen sind nicht länger erforderlich und wurden entfernt:
Weitere Hinweise finden Sie unter timeout.
Backlog-Option nicht mehr erforderlich Die mlsrv10-Option backlog ist nicht mehr erforderlich und wurde entfernt.
Änderungen von Protokollnamen und Optionen für Netzwerksicherheit Die Netzwerkprotokollschlüsselwörter https_fips, rsa_tls, rsa_tls_fips, ecc_tls und die Netzwerkprotokolloption security wurden entfernt. Die Protokolle wurden nicht entfernt, doch sie müssen nun auf andere Weise angegeben werden. Die mlsrv10-Syntax für -x wurde wie folgt geändert:
Alte Syntax | Neue Syntax in Version 10.0.0 | Beschreibung |
---|---|---|
-x https_fips | -x https(fips=y;...) | HTTPS mit FIPS |
-x rsa_tls | -x tls(tls_type=rsa;...) | TCP/IP mit TLS unter Verwendung von RSA-Verschlüsselung |
-x rsa_tls_fips | -x tls(tls_type=rsa;fips=y;...) | TCP/IP mit TLS unter Verwendung von RSA-Verschlüsselung und FIPS |
-x ecc_tls | -x tls(tls_type=ecc;...) | TCP/IP mit TLS unter Verwendung von ECC-Verschlüsselung |
-x tcpip(security=...) | -x tcpip | TCP/IP |
-x http(security=...) | -x http | HTTP |
Weitere Hinweise finden Sie unter Option -x.
Änderung der Option -bn Die mlsrv10-Option -bn vergleicht BLOB-Bytes während der Konflikterkennung. Früher wurden Zeichen für Daten vom Typ LONGVARCHAR verglichen. Die verglichene Einheit für BLOBs vom Datentyp binary und LONGVARCHAR ist nun immer Byte.
Weitere Hinweise finden Sie unter Option -bn.
Änderung der Ausgabeausführlichkeit Die mlsrv10-Optionen -vr, -vt und -vu geben nun etwas andere Informationen aus:
-vr -vr gibt jetzt nur noch die Upload- und Download-Zeilenwerte zurück. Früher wurden außerdem die Namen und Inhalte der Download-Skripten zurückgegeben.
-vt -vt gibt jetzt nur noch den Inhalt von konvertierten Skripten zurück. Früher wurde auch der Inhalt des ursprünglichen Skripts zurückgegeben.
-vu -vu gibt jetzt alle nicht definierten Tabellenskripten zurück, wenn die Skripten aufgerufen werden müssen. Dies gilt auch für Statistikskripten.
Weitere Hinweise finden Sie unter Option -v.
MobiLink-Serveroptionen -za und -ze wurden entfernt Die automatische Skriptgenerierung, die durch die MobiLink-Serveroptionen -za und -ze bereitgestellt wurde, wurde entfernt. Sie können nun Skripten mithilfe des Assistenten zum Erstellen eines Synchronisationsmodells generieren.
Weitere Hinweise finden Sie unter Modelle erstellen.
-zac und -zec wurden entfernt Die Optionen -zac und -zec des MobiLink-Servers zur Erzeugung cursorbasierter Skripten waren veraltet und wurden nun entfernt.
MobiLink-Serveroption -oy wurde entfernt Die mlsrv10-Option -oy zur Anzeige der Jahresangabe eines Zeitstempels wurde entfernt. Das Jahr wird nun in Zeitstempeln in Informationsnachrichten, Warnungen und Fehlermeldungen immer angezeigt.
Änderungen der Statistikeigenschaften Es gibt zwei allgemeine Änderungen:
Die Bedeutung von Byte-Zählungen für Upload und Download hat sich geändert. Diese Zählungen spiegeln nun den Speicherplatz wider, der innerhalb des MobiLink-Servers zum Speichern des Uploads und Downloads verwendet wird. Früher handelte es sich dabei um die Größe (in Byte) des Uploads und Downloads, der an den MobiLink-Server gesendet bzw. von ihm empfangen wurde. Die neuen Zähler sind nützlicher, da sie einen guten Eindruck davon vermitteln, welche Auswirkungen die Synchronisation auf den Serverspeicher hat. Die früheren Zähler waren u.U. auch unzuverlässig, wenn HTTP, Verschlüsselung oder Komprimierung verwendet wurden.
In früheren Versionen der Dokumentation wurde in den Beschreibungen der Eigenschaften nicht erklärt, dass die Eigenschaften abhängig davon, ob sie im normalen Upload-Modus oder im erzwungenen Konfliktmodus verwendet werden, verschiedene Werte zurückgeben. Dies wurde korrigiert (siehe unten).
Die folgenden Statistikeigenschaften wurden geändert:
Statistikeigenschaft | Beschreibung |
---|---|
Konflikt_Löschungen |
Im normalen Upload-Modus ist dies immer Null. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der übertragenen Löschungen zurück, die mit dem Skript upload_old_row_insert erfolgreich in die konsolidierte Datenbank eingefügt wurden. Früher wurde die Anzahl der übertragenen Löschungen zurückgegeben, für die Konflikte festgestellt wurden. |
Konflikt_Einfügungen |
Im normalen Upload-Modus ist dies immer Null. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der übertragenen Einfügungen zurück, die mit dem Skript upload_new_row_insert erfolgreich in die konsolidierte Datenbank eingefügt wurden. Früher wurde die Anzahl der übertragenen Einfügungen zurückgegeben, für die Konflikte festgestellt wurden. |
Konflikt_Updates |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der aktualisierten Zeilen zurück, die einen Konflikt verursacht haben. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der aktualisierten Upload-Zeilen zurück, die mit dem Skript upload_new_row_insert oder upload_old_row_insert erfolgreich in die konsolidierte Datenbank eingefügt wurden. Früher wurde die Anzahl der übertragenen Aktualisierungen zurückgegeben, für die Konflikte festgestellt wurden. |
Download_Byte |
Diese Eigenschaft gibt den Speicherplatz zurück, der innerhalb des MobiLink-Servers zum Speichern des Downloads verwendet wird. Früher wurde die Anzahl der heruntergeladenen Byte zurückgegeben. |
Ignorierte_Löschungen |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der übertragenen gelöschten Zeilen zurück, die Fehler verursacht haben, als das Skript upload_delete aufgerufen wurde, wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben oder wenn kein upload_delete-Skript für die betreffende Tabelle vorhanden ist. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der gelöschten Upload-Zeilen zurück, die Fehler verursacht haben, als das Skript upload_old_row_insert aufgerufen wurde, wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben oder wenn kein upload_old_row_insert-Skript für die betreffende Tabelle definiert wurde. Früher gab diese Eigenschaft die Anzahl der ignorierten übertragenen Löschungen zurück. |
Ignorierte_Einfügungen |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der eingefügten Upload-Zeilen zurück, die Fehler verursacht haben, als das Skript upload_insert aufgerufen wurde, wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben oder wenn kein upload_insert-Skript für die betreffende Tabelle definiert wurde. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der eingefügten Upload-Zeilen zurück, die Fehler verursacht haben, als das Skript upload_new_row_insert aufgerufen wurde, wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben oder wenn kein upload_insert-Skript für die betreffende Tabelle definiert wurde. Früher gab diese Eigenschaft die Anzahl der ignorierten übertragenen Einfügungen zurück. |
Ignorierte_Updates |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der aktualisierten Upload-Zeilen zurück, die Fehler verursacht haben, als das Skript upload_update aufgerufen wurde, wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben oder wenn kein upload_delete-Skript für die betreffende Tabelle definiert wurde. Im erzwungenen Konfliktmodus gibt diese Eigenschaft die Gesamtzahl der aktualisierten Upload-Zeilen zurück, die Fehler verursacht haben, während das Skript upload_new_row_insert oder upload_old_row_insert aufgerufen wurde oder wenn handle_error oder handle_odbc_error definiert wurden und 1000 zurückgegeben haben. Früher gab diese Eigenschaft die Anzahl der ignorierten übertragenen Aktualisierungen zurück. |
Upload_Byte |
Diese Eigenschaft gibt den Speicherplatz zurück, der innerhalb des MobiLink-Servers zum Speichern des Uploads verwendet wird. Früher wurde die Anzahl der übertragenen Byte zurückgegeben. |
Upload_Löschzeilen |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der Zeilen zurück, die erfolgreich aus der konsolidierten Datenbank gelöscht wurden. Im erzwungenen Konfliktmodus ist dies immer Null. Früher gab diese Eigenschaft die Anzahl der Zeilenlöschungen zurück, die vom Synchronisationsclient übertragen wurden. |
Upload_Einfügezeilen |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der Zeilen zurück, die erfolgreich in die konsolidierte Datenbank eingefügt wurden. Im erzwungenen Konfliktmodus ist dies immer Null. Früher gab diese Eigenschaft die Anzahl der Zeileneinfügungen zurück, die vom Synchronisationsclient übertragen wurden. |
Upload_Aktualisierungszeilen |
Im normalen Upload-Modus gibt diese Eigenschaft die Gesamtzahl der Zeilen zurück, die erfolgreich in der konsolidierten Datenbank aktualisiert wurden. Im erzwungenen Konfliktmodus ist dies immer Null. Früher gab diese Eigenschaft die Anzahl der Zeilenaktualisierungen zurück, die vom Synchronisationsclient übertragen wurden. |
Weitere Hinweise finden Sie unter MobiLink-Statistikeigenschaften.
Nullzeichen können nun in und von Spalten vom Datentyp CHAR oder NCHAR in der entfernten Datenbank synchronisiert werden Früher verursachten VARCHAR- und CHAR-Spalten mit Nullzeichen in MobiLink häufig den Fehlschlag der Synchronisation. Nun können Sie Nullzeichen in Spalten entfernter Datenbanken vom Datentyp CHAR, VARCHAR, LONG VARCHAR, NCHAR, NVARCHAR und LONG NVARCHAR synchronisieren.
Neues Format zum Protokollieren von Informationen, Warnungen und Fehlermeldungen Früher protokollierte der MobiLink-Server Nachrichten im folgenden Format:
T.mm/tt hh:mm:ss. Thread_ID Benutzername: Nachricht |
Nun protokolliert der MobiLink-Server Nachrichten im folgenden Format:
T. jjjj-mm-tt hh:mm:ss. Synchronisations-ID: Nachricht |
Für jede Synchronisation zeigt die Nachricht im Protokoll die entfernte ID, den Benutzernamen, die Skriptversion und den Clientnamen (UltraLite oder SQL Anywhere) an.
Das neue Format verringert die Größe des Ausgabelogs, ohne die bereitgestellten Informationen zu reduzieren.
Neuer Datentyp in Systemprozeduren für Oracle In MobiLink-Systemprozeduren, die zum Registrieren von Skripten verwendet werden, verwendet der Skripten-Inhaltsparameter für konsolidierte Oracle-Datenbanken nun den Datentyp CLOB. In der Systemprozedur ml_add_property ist der Parameter prop_value für Oracle nun CLOB. Früher waren diese Parameter vom Typ VARCHAR.
Weitere Hinweise finden Sie unter Systemprozeduren des MobiLink-Servers.
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 |