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 - Erste Orientierung » Praktische Einführungen in MobiLink » Praktische Einführung: .NET-Synchronisationslogik verwenden

 

Lektion 1: Assembly CustdbScripts.dll mit MobiLink-Referenzen kompilieren

.NET-Klassen schließen die Synchronisationslogik in Methoden ein.

In dieser Lektion kompilieren Sie eine Klasse, die der Beispieldatenbank CustDB zugeordnet ist.

MobiLink-Datenbankbeispiel

SQL Anywhere wird mit einer SQL Anywhere-Beispieldatenbank (CustDB) ausgeliefert, die bereits für die Synchronisation eingerichtet ist, einschließlich der SQL-Skripten, die zur Ausführung der Synchronisation erforderlich sind. Die CustDB-Tabelle ULCustomer ist zum Beispiel eine synchronisierte Tabelle, die eine Reihe von Ereignissen auf Tabellenebene unterstützt.

CustDB ist ein konsolidierter Datenbankserver für sowohl UltraLite- als auch SQL Anywhere-Clients. Die CustDB-Datenbank hat den Datenquellennamen (DSN) SQL Anywhere 11 CustDB.

Die CustdbScripts-Assembly

In diesem Abschnitt erstellen Sie die .NET-Klasse, CustdbScripts genannt, mit einer Logik zur Verarbeitung der ULCustomer-Ereignisse upload_insert und download_cursor.

MobiLink-Server-API

Zur Ausführung der .NET-Synchronisationslogik muss der MobiLink-Server Zugriff auf die Klassen in iAnywhere.MobiLink.Script.dll haben. iAnywhere.MobiLink.Script.dll enthält ein Repository mit MobiLink-Server-APIs für .NET-Klassen, die Sie in Ihren .NET-Methoden verwenden können.

Weitere Hinweise zur MobiLink-Server-API für .NET finden Sie unter MobiLink-Server - API für .NET.

Beim Kompilieren der Klasse CustdbScripts muss diese Assembly einbezogen werden, um die API-Schnittstelle nutzen zu können. Sie können Ihre Klasse mit Visual Studio oder von der Befehlszeile aus kompilieren.

  • Erstellen Sie in Visual Studio eine neue Klassenbibliothek und geben Sie den CustdbScripts-Code ein. Verknüpfen Sie iAnywhere.MobiLink.Script.dll und erstellen Sie die Assembly für Ihre Klasse.

  • Stellen Sie den Code in eine Textdatei, und speichern Sie die Datei unter dem Namen CustdbScripts.cs (bzw. CustdbScripts.vb für Visual Basic.NET). Unter Verwendung einer Compiler-Befehlszeile referenzieren Sie iAnywhere.MobiLink.Script.dll und erstellen die Assembly für Ihre Klasse.

♦  So erstellen Sie die CustdbScripts-Assembly mit Visual Studio
  1. Starten Sie ein neues Visual C#- bzw. Visual Basic .NET Class Library-Projekt.

    Verwenden Sie CustdbScripts als Projektnamen und geben Sie den entsprechenden Pfad ein. Diese praktische Einführung geht vom Pfad c:\mldnet aus.

  2. Geben Sie den CustdbScripts-Code ein.

    Bei C# geben Sie Folgendes ein:

    namespace MLExample
    {
    class CustdbScripts
    {
      public static string UploadInsert()
     {
       return("INSERT INTO ULCustomer(cust_id,cust_name) values (?,?)");
     }
     public static string DownloadCursor(System.DateTime ts, string user )
     {
       return("SELECT cust_id, cust_name 
               FROM ULCustomer 
                WHERE last_modified >= '" + ts.ToString("yyyy-MM-dd hh:mm:ss.fff") +"'");
     }
    }
    }

    Bei Visual Basic .NET geben Sie Folgendes ein:

    Namespace MLExample
    
     Class CustdbScripts
     
      Public Shared Function UploadInsert() As String
        Return("INSERT INTO ULCustomer(cust_id,cust_name) values (?,?)")
      End Function
     
      Public Shared Function DownloadCursor(ByVal ts As System.DateTime, ByVal user As String) As String
       Return("SELECT cust_id, cust_name FROM ULCustomer " + _
        "WHERE last_modified >= '" + ts.ToString("yyyy-MM-dd hh:mm:ss.fff") +"'")
      End Function
     
     End Class
    
    End Namespace
  3. Fügen Sie der MobiLink-Server-API eine Referenz hinzu.

    • Wählen Sie im Visual Studio .NET-Menü Projekt die Option Vorhandenes Element hinzufügen.

    • Wählen Sie unter Installationsverzeichnis\Assembly\v2 die Datei iAnywhere.MobiLink.Script.dll. Wählen Sie in Visual Studio im Menü Öffnen die Option Datei verknüpfen. Wählen Sie in Visual Studio 2005 im Menü Hinzufügen die Option Verknüpfung hinzufügen.

  4. Klicken Sie mit der rechten Maustaste auf das CustdbScripts-Projekt und wählen Sie die Tabelle Eigenschaften » Allgemein. Stellen Sie für Visual Basic .NET sicher, dass das Textfeld für den Stammnamespace leer ist.

  5. Erstellen Sie CustdbScripts.dll.

    Wählen Sie im Menü Erstellen die Option Build CustdbScripts.

    Hiermit erstellen Sie CustdbScripts.dll in C:\mldnet\CustdbScripts\CustdbScripts\\bin\Debug.

♦  So erstellen Sie die CustdbScripts-Assembly über die Eingabeaufforderung
  1. Erstellen Sie ein Verzeichnis für die .NET-Klasse und assemblieren Sie sie.

    Diese praktische Einführung geht vom Pfad c:\mldnet aus.

  2. Geben Sie den CustdbScripts-Code mit einem Texteditor ein.

    Bei C# geben Sie Folgendes ein:

    namespace MLExample
    {
    class CustdbScripts
    {
      public static string UploadInsert()
     {
       return("INSERT INTO ulcustomer(cust_id,cust_name) values (?,?)");
     }
     public static string DownloadCursor(System.DateTime ts, string user )
     {
       return("SELECT cust_id, cust_name FROM ULCustomer where last_modified >= '" + ts.ToString("yyyy-MM-dd hh:mm:ss.fff") +"'");
     }
    }
    }

    Bei Visual Basic .NET geben Sie Folgendes ein:

    Namespace MLExample
    
     Class CustdbScripts
     
      Public Shared Function UploadInsert() As String
        Return("INSERT INTO ULCustomer(cust_id,cust_name) values (?,?)")
      End Function
     
      Public Shared Function DownloadCursor(ByVal ts As System.DateTime, ByVal user As String) As String
       Return("SELECT cust_id, cust_name FROM ULCustomer " + _
        "WHERE last_modified >= '" + ts.ToString("yyyy-MM-dd hh:mm:ss.fff") +"'")
      End Function
     
     End Class
    
    End Namespace
  3. Speichern Sie die Datei unter dem Namen CustdbScripts.cs ( CustdbScripts.vb bei Visual Basic .NET) in c:\mldnet.

  4. Kompilieren Sie die Datei mit dem folgenden Befehl.

    Bei C# geben Sie Folgendes ein:

    csc /out:c:\mldnet\custdbscripts.dll /target:library /reference:"%sqlany11%\Assembly\v2\iAnywhere.MobiLink.Script.dll" c:\mldnet\CustdbScripts.cs

    Bei Visual Basic .NET geben Sie Folgendes ein:

    vbc /out:c:\mldnet\custdbscripts.dll /target:library /reference:"%sqlany11%\Assembly\v2\iAnywhere.MobiLink.Script.dll" c:\mldnet\CustdbScripts.vb

    Die Assembly CustdbScripts.dll wird generiert.

Weitere Hinweise

Weitere Hinweise zur MobiLink-Server-API für .NET finden Sie unter MobiLink-Server - API für .NET.

Weitere Hinweise zu .NET-Methoden finden Sie unter Methoden.