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-Ereignisse » Synchronisationsereignisse

 

begin_upload_rows (Tabellenereignis)

Verarbeitet Anweisungen im Zusammenhang mit einer angegebenen Tabelle, unmittelbar bevor in der entfernten Datenbank Einfügungen und Aktualisierungen aus dieser Tabelle übertragen werden.

Parameter

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

Standardaktion

Keine.

Bemerkungen

Dieses Ereignis wird ausgeführt, unmittelbar bevor die Änderungen übernommen werden, die sich aus den Einfügungen und Löschungen in der im zweiten Parameter genannten Client-Tabelle ergeben haben.

Sie können für jede Tabelle in der entfernten Datenbank ein begin_upload_rows-Skript benutzen. Das Skript wird nur dann aufgerufen, wenn die Tabelle tatsächlich synchronisiert wird.

Siehe auch
SQL-Beispiel

Das Verbindungsereignis begin_upload_rows wird benutzt, um alle erforderlichen Schritte vor dem Upload von Einfügungen und Aktualisierungen einer bestimmten Tabelle durchzuführen. Das nachstehende Skript ruft eine gespeicherte Prozedur auf, die die konsolidierte Datenbank für Einfügungen und Aktualisierungen in die Tabelle Inventory vorbereitet:

CALL ml_add_table_script(
 'MyCorp 1.0',
 'Inventory',
 'begin_upload_rows',
 'CALL PrepareForUpserts()' )
Java-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens beginUploadRows als das Skript für das Tabellenereignis begin_upload_rows, wenn die Skriptversion ver1 synchronisiert wird.

CALL ml_add_java_table_script( 
  'ver1',
  'table1',
  'begin_upload_rows',
  'ExamplePackage.ExampleClass.beginUploadRows' )

Im Folgenden sehen Sie die Java-Beispielmethode beginUploadRows. 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 beginUploadRows( 
  String user,
  String table )
  throws java.sql.SQLException {  
  java.lang.System.out.println( 
   "Starting upload rows for table: " + 
   table + " and user: " + user );
  return ( null );
}
.NET-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens BeginUploadRows als das Skript für das Tabellenereignis begin_upload_rows, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.

CALL ml_add_dnet_table_script(
  'ver1', 
  'table1', 
  'begin_upload_rows',
  'TestScripts.Test.BeginUploadRows'
)

Im Folgenden sehen Sie die .NET-Beispielmethode BeginUploadRows. 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 BeginUploadRows(
  string user,
  string table ) {  
  System.Console.WriteLine( 
   "Starting upload rows for table: " + 
   table + " and user: " + user );
  return ( null );
}