.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 DSN SQL Anywhere 12 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-.NET-API-Referenz (.NET 2.0).
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 CustdbScripts-Code in eine Textdatei und speichern Sie die Datei unter dem Namen CustdbScripts.cs (bzw. CustdbScripts.vb für Visual Basic). 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 Windows 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.
Vergewissern Sie sich, dass die Class1.cs-Datei im Projektmappen-Explorer markiert ist.
Geben Sie den CustdbScripts-Code ein.
Der Beispielcode in dieser praktischen Einführung zeigt eine nicht mehr empfohlene Vorgehensweise. Es wird empfohlen, keinen SQL-Code beim Schreiben von Java- oder .NET-Skripten zurückzugeben. Änderungen an der konsolidierten Datenbank sollten Sie direkt aus Java oder .NET durchführen.
Weitere Hinweise finden Sie unter Direkte Zeilenbehandlung.
Bei C# ersetzen Sie den bestehenden Code wie folgt:
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 ersetzen Sie den bestehenden Code wie folgt:
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 iAnywhere.MobiLink.Script.dll in C:\Programme\SQL Anywhere 12\Assembly\V2. Ersetzen Sie C:\Programme\SQL Anywhere 12 durch das Verzeichnis Ihrer SQL Anywhere-Installation.
Wählen Sie im Dropdown-Menü Hinzufügen das Hinzufügen der Datei als Link.
Bei Visual Basic klicken Sie mit der rechten Maustaste auf das CustdbScripts-Projekt und wählen Sie die Tabelle Eigenschaften » Allgemein. Stellen Sie sicher, dass das Textfeld Root Namespace leer ist.
Erstellen Sie CustdbScripts.dll.
Wählen Sie im Menü Erstellen die Option Build CustdbScripts.
Damit 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.
Der Beispielcode in dieser praktischen Einführung zeigt eine nicht mehr empfohlene Vorgehensweise. Es wird empfohlen, keinen SQL-Code beim Schreiben von Java- oder .NET-Skripten zurückzugeben. Änderungen an der konsolidierten Datenbank sollten Sie direkt aus Java oder .NET durchführen.
Weitere Hinweise finden Sie unter Direkte Zeilenbehandlung.
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 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) in c:\mldnet.
Kompilieren Sie die Datei.
Für C# führen Sie den folgenden Befehl aus:
csc /out:c:\mldnet\custdbscripts.dll /target:library /reference:"C:\Programme\SQL Anywhere 12\Assembly\v2\iAnywhere.MobiLink.Script.dll" c:\mldnet\CustdbScripts.cs |
Für Visual Basic führen Sie den folgenden Befehl aus:
vbc /out:c:\mldnet\custdbscripts.dll /target:library /reference:"C:\Programme\SQL Anywhere 12\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-.NET-API-Referenz (.NET 2.0).
Weitere Hinweise zu .NET-Methoden finden Sie unter Methoden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |