Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » MobiLink - Erste Orientierung » Praktische Einführungen in MobiLink » Praktische Einführung: .NET-Synchronisationslogik verwenden

 

Lektion 2: Klassenmethoden für Ereignisse festlegen

CustdbScripts.dll wurde in der vorangehenden Lektion erstellt und umfasst die Methoden UploadInsert() und DownloadCursor(). Diese Methoden enthalten die Implementierungen der ULCustomer-Ereignisse upload_insert bzw. download_cursor.

In diesem Abschnitt legen Sie Klassenmethoden für Ereignisse auf Tabellenebene auf zwei verschiedenen Wegen fest:

  1. MobiLink-Projekt über Sybase Central erstellen.

    Verbinden Sie sich mit der CustDB-Datenbank über Sybase Central, ersetzen das upload_insert-SQL-Skript durch ein .NET-Skript und geben dann MLExample.CustdbScripts.UploadInsert an, um das Ereignis zu verarbeiten.

  2. Mit der gespeicherten Prozedur ml_add_dnet_table_script

    Verbinden Sie sich mit der Datenbank CustDB mithilfe von Interactive SQL und führen Sie ml_add_dnet_table_script aus, wobei Sie MLExample.CustdbScripts.DownloadCursor für das Ereignis download_cursor festlegen.

 ♦  So erstellen Sie ein neues MobiLink-Projekt
  1. Wählen Sie Start » Programme » SQL Anywhere 12 » Administrationstools » Sybase Central.

  2. Wählen Sie im Menü Extras die Option MobiLink 12 » Neues Projekt.

  3. Im Feld Name geben Sie mldnet_project ein.

  4. Im Feld Speicherort geben Sie C:\mldnet ein und klicken dann auf Weiter.

  5. Aktivieren Sie die Option Dem Projekt eine konsolidierte Datenbank hinzufügen.

  6. Geben Sie im Feld Anzeigename der Datenbank mldnet_db ein.

  7. Klicken Sie auf Bearbeiten. Das Fenster Mit einer allgemeinen ODBC-Datenbank verbinden erscheint.

  8. Klicken Sie im Feld ODBC-Datenquellenname auf Durchsuchen und wählen SQL Anywhere 12 CustDB.

  9. Klicken Sie auf OK und dann auf Speichern.

  10. Klicken Sie auf Fertig stellen.

  11. Klicken Sie auf OK.

In der nächsten Prozedur verwenden Sie Sybase Central, um eine .NET-Methode als Skript für das ULCustomer-upload_insert-Ereignins anzugeben.

 ♦  So subskribieren Sie CustdbScripts.uploadInsert() für das upload_insert-Ereignis der Tabelle ULCustomer
  1. Wählen Sie aus dem Menü Ansicht die Option Ordner.

  2. Erweitern Sie im linken Fensterausschnitt von Sybase Central unter MobiLink 12 mldnet_project, Konsolidierte Datenbanken, mldnet_db, Synchronisierte Tabelle und dann ULCustomer.

  3. Wählen Sie im rechten Fensterausschnitt das custdb 12.0 upload_insert-Tabellenskript. Wählen Sie im Menü Bearbeiten die Option Löschen.

  4. Erstellen Sie ein neues upload_insert-Tabellenskript.

    1. Wählen Sie im Datei-Menü Neu » Tabellenskript.

    2. In der Liste Für welche Version soll das Tabellenskript erstellt werden? klicken Sie auf custdb 12.0.

    3. In der Liste Bei welchem Ereignis soll das Tabellenskript ausgeführt werden? klicken Sie auf upload_insert und dann auf Weiter.

    4. Wählen Sie Neue Skriptdefinition erstellen und wählen Sie dann .NET.

    5. Klicken Sie auf Fertig stellen.

  5. Geben Sie den .NET-Methodennamen ein, der für das custdb 12.0 upload_insert-Tabellenskript zu laden ist.

    Im rechten Fensterausschnitt von Sybase Central verwenden Sie das folgende .NET-Skript für das upload_insert-Ereignis:

    MLExample.CustdbScripts.UploadInsert
  6. Im Menü Datei wählen Sie Speichern, um das Skript zu speichern.

  7. Schließen Sie Sybase Central.

Als Alternative können Sie die gespeicherten Prozeduren ml_add_dnet_connection_script und ml_add_dnet_table_script verwenden. Die Verwendung dieser gespeicherten Prozeduren ist v.a. dann effizient, wenn Sie eine große Anzahl von .NET-Methoden für die Verarbeitung von Synchronisationsereignissen einsetzen.

Siehe ml_add_dnet_connection_script-Systemprozedur und ml_add_dnet_table_script-Systemprozedur.

In der nächsten Prozedur stellen Sie mithilfe von Interactive SQL eine Verbindung zu CustDB her und führen ml_add_dnet_table_script aus, indem Sie dem download_cursor-Ereignis MLExample.CustdbScripts.DownloadCursor zuweisen.

 ♦  So legen Sie MLExample.CustdbScripts.DownloadCursor für das upload_insert-Ereignis von ULCustomer fest
  1. Verbinden Sie sich mit der Beispieldatenbank mittels Interactive SQL.

    1. Wählen Sie Start » Programme » SQL Anywhere 12 » Administrationstools » Interactive SQL oder führen Sie folgenden Befehl aus:

      dbisql
    2. Klicken Sie auf ODBC-Datenquellenname und geben Sie SQL Anywhere 12 CustDB ein.

    3. Klicken Sie auf Verbinden.

  2. Führen Sie folgendes SQL-Skript in Interactive SQL aus:

    CALL ml_add_dnet_table_script(
        'custdb 12.0',
        'ULCustomer',
        'download_cursor',
        'MLExample.CustdbScripts.DownloadCursor');
    COMMIT;

    Im Folgenden finden Sie eine Beschreibung der einzelnen Parameter:

    Parameter Beschreibung
    custdb 12.0 Die Skriptversion
    ULCustomer Die synchronisierte Tabelle
    download_cursor Der Ereignisname
    MLExample.CustdbScripts.DownloadCursor Die vollständig qualifizierte .NET-Methode
    Hinweis

    Ihr hochgeladenes download_cursor-Skript erscheint möglicherweise nicht in Sybase Central. Um die jüngsten Änderungen am MobiLink-Projekt in Sybase Central anzuzeigen, klicken Sie auf das Ansicht-Menü und wählen Alles aktualisieren.

  3. Schließen Sie Interactive SQL.

In dieser Lektion haben Sie .NET-Methoden für die Verarbeitung von ULCustomer-Tabellenereignissen festgelegt. In der nächsten Lektion stellen Sie sicher, dass der MobiLink-Server die richtigen Klassendateien und die MobiLink-Server-API lädt.

 Weitere Hinweise