Führt Anweisungen im Zusammenhang mit einer bestimmten Tabelle aus, unmittelbar bevor der MobiLink-Server beginnt, den Upload-Datenstrom von Einfügungen, Aktualisierungen und Löschungen zu verarbeiten.
In der folgenden Tabelle stellt die Beschreibung den SQL-Datentyp bereit. Wenn Sie Ihr Skript in Java oder .NET schreiben, müssen Sie den entsprechenden Datentyp benutzen. Weitere Hinweise finden Sie unter SQL-Java-Datentypen und SQL-.NET-Datentypen.
In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Namen und Fragezeichen dürfen jedoch in einem Skript nicht gemischt verwendet werden. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der nachfolgend gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden (z.B. müssen Sie Parameter 1 verwenden, wenn Sie Parameter 2 verwenden möchten). Wenn Sie benannte Parameter verwenden, können Sie beliebige Teilmengen der Parameter in beliebiger Reihenfolge angeben.
Parametername für SQL-Skripten |
Beschreibung |
Reihenfolge |
---|---|---|
s.remote_id | VARCHAR(128). Die entfernte ID von MobiLink. Sie können die entfernte ID nur dann referenzieren, wenn Sie benannte Parameter verwenden. | Nicht anwendbar |
s.username |
VARCHAR(128). Der MobiLink-Benutzername |
1 |
s.table |
VARCHAR(128). Der Tabellenname |
2 |
Keine.
Der MobiLink-Server führt dieses Ereignis als ersten Schritt bei der Verarbeitung von Upload-Daten aus. Upload-Daten werden in einer separaten Transaktion abgearbeitet. Die Ausführung dieses Ereignisses ist die erste tabellenspezifische Aktion in dieser Transaktion.
Sie können für jede Tabelle in der entfernten Datenbank ein begin_upload-Skript benutzen. Das Skript wird nur dann aufgerufen, wenn die Tabelle tatsächlich synchronisiert wird.
Wenn Sie Zeilen von einer entfernten Datenbank übertragen, sollten Sie die Änderungen in eine Zwischentabelle einfügen und die Änderungen manuell vornehmen. In diesem Ereignis können Sie eine globale temporäre Tabelle benutzen.
CALL ml_add_table_script( 'version1', 'Leads', 'begin_upload', 'INSERT INTO T_Leads SELECT * FROM Leads WHERE Owner = @EmployeeID' ) |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens beginUploadTable als das Skript für das Tabellenereignis begin_upload, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_table_script( 'ver1', 'table1', 'begin_upload', 'ExamplePackage.ExampleClass.beginUploadTable' ) |
Im Folgenden sehen Sie die Java-Beispielmethode beginUploadTable. Damit wird eine Nachricht ins MobiLink-Nachrichtenlog geschrieben. (Das Schreiben einer Nachricht in das MobiLink-Nachrichtenlog ist zum Zeitpunkt der Entwicklung möglicherweise nützlich, verlangsamt aber einen Produktionsserver.)
public String beginUploadTable( String user, String table ) { java.lang.System.out.println("Beginning to process upload for: " + table); return ( null ); } |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens BeginTableUpload als das Skript für das Tabellenereignis begin_upload, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'begin_upload', 'TestScripts.Test.BeginTableUpload' ) |
Im Folgenden sehen Sie die .NET-Beispielmethode BeginTableUpload. Damit wird eine Nachricht ins MobiLink-Nachrichtenlog geschrieben. (Das Schreiben einer Nachricht in das MobiLink-Nachrichtenlog ist zum Zeitpunkt der Entwicklung möglicherweise nützlich, verlangsamt aber einen Produktionsserver.)
public string BeginTableUpload( string user, string table ) { System.Console.WriteLine("Beginning to process upload for: " + table); return ( null ); } |
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 |