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_synchronization (Tabellenereignis)

Verarbeitet Anweisungen in Bezug auf eine bestimmte Tabelle zu dem Zeitpunkt, wenn eine Anwendung in Vorbereitung auf den Synchronisationsprozess eine Verbindung mit dem MobiLink-Server herstellt.

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

Der MobiLink-Server führt dieses Ereignis aus, nachdem eine Anwendung, die sich für die Synchronisation vorbereitet, eine Verbindung mit dem MobiLink-Server hergestellt hat und nach dem Ereignis auf Verbindungsebene begin_synchronization.

Sie können für jede Tabelle in der entfernten Datenbank ein begin_synchronization-Skript benutzen. Das Ereignis wird nur aufgerufen, wenn die Tabelle synchronisiert wird.

Siehe auch
SQL-Beispiel

Das Tabellenereignis begin_synchronization wird benutzt, um die Synchronisation einer bestimmten Tabelle einzurichten. Das folgende SQL-Skript registriert ein Skript, das eine temporäre Tabelle zum Speichern von Zeilen während der Synchronisation erstellt. Diese Syntax gilt für eine konsolidierte SQL Anywhere-Datenbank.

CALL ml_add_table_script(
 'ver1',
 'sales_order',
 'begin_synchronization',
 'CREATE TABLE #sales_order (
    id          integer NOT NULL default autoincrement,
    cust_id     integer NOT NULL,
    order_date      date NOT NULL,
    fin_code_id char(2) NULL,
    region      char(7) NULL,
    sales_rep       integer NOT NULL,
    PRIMARY KEY (id),
)' )
Java-Beispiel

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

CALL ml_add_java_table_script(
 'ver1',
 'table1',
 'begin_synchronization',
 'ExamplePackage.ExampleClass.beginSynchronizationTable' )

Im Folgenden sehen Sie die Java-Beispielmethode beginSynchronizationTable. Sie fügt den aktuellen Tabellennamen zu einer Liste der Tabellennamen in dieser Instanz hinzu.

public String beginSynchronizationTable(
  String user,
  String table ) {  
  _tableList.add( table );
  return ( null );
}
.NET-Beispiel

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

CALL ml_add_dnet_table_script (
  'ver1', 
  'table1',
  'begin_synchronization',
  'TestScripts.Test.BeginTableSync' )

Im Folgenden sehen Sie die .NET-Beispielmethode BeginTableSync. Sie fügt den aktuellen Tabellennamen zu einer Liste der Tabellennamen in dieser Instanz hinzu.

public string BeginTableSync( 
  string user, 
  string table ) {  
  _tableList.Add( table );
  return ( null );
}