.NET-Klassen schließen die Synchronisationslogik in Methoden ein.
In dieser Lektion kompilieren Sie eine Klasse, die der Beispieldatenbank CustDB zugeordnet ist.
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.
In diesem Abschnitt erstellen Sie die .NET-Klasse, CustdbScripts genannt, mit einer Logik zur Verarbeitung der ULCustomer-Ereignisse upload_insert und download_cursor.
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.
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.
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 |
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.
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.
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.
Erstellen Sie ein Verzeichnis für die .NET-Klasse und assemblieren Sie sie.
Diese praktische Einführung geht vom Pfad c:\mldnet aus.
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 |
Speichern Sie die Datei unter dem Namen CustdbScripts.cs ( CustdbScripts.vb bei Visual Basic .NET) in c:\mldnet.
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 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.
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 |