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 eine ODBC-Datenquelle SQL Anywhere 12 CustDB.
.NET-Klassen schließen die Synchronisationslogik in Methoden ein. 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 Referenz zur 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 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.
Sie können die CustdbScripts-Assembly mit Visual Studio erstellen.
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:\mldotnet aus.
Ändern Sie in Visual Studio 2010 das obige Dropdown-Listenfeld von .NET Framework 4 auf .NET Framework 3.5.
Um v4.0-Assemblys zu verwenden, müssen Sie die Option -clrVersion beim Laden des MobiLink-Servers explizit einbeziehen. Weitere Hinweise zur Option -clrVersion finden Sie unter mlsrv12-Option -sl dnet .
Vergewissern Sie sich, dass die Class1.cs-Datei im Projektmappen-Explorer markiert ist.
Geben Sie den CustdbScripts-Code ein.
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 ({ml r.cust_id}, {ml r.cust_name})"); } 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 ({ml r.cust_id}, {ml r.cust_name})") 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 |
Bei Visual Basic klicken Sie mit der rechten Maustaste auf das CustdbScripts-Projekt und wählen die Tabelle Eigenschaften » Allgemein. Stellen Sie sicher, dass das Textfeld Root Namespace leer ist.
Erstellen Sie CustdbScripts.dll.
Klicken Sie auf Erstellen » CustdbScripts erstellen.
Die Datei CustdbScripts.dll wird in C:\mldotnet\CustdbScripts\CustdbScripts\bin\Debug erstellt.
Fortfahren mit Lektion 2: Erstellen des MobiLink-Projekts.
Sie können Befehlszeilen, einen Texteditor und einen Visual Studio Compiler als Alternative zur Visual Studio IDE verwenden, um die CustdbScripts-Assembly zu erstellen.
Erstellen Sie ein Verzeichnis für die .NET-Klasse und assemblieren Sie sie.
Diese praktische Einführung geht vom Pfad c:\mldotnet 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 ({ml r.cust_id}, {ml r.cust_name})"); } 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 ({ml r.cust_id}, {ml r.cust_name})") 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:\mldotnet.
Kompilieren Sie die Datei.
Für C# führen Sie den folgenden Befehl aus:
csc /out:c:\mldotnet\custdbscripts.dll /target:library /reference:"C:\Programme\SQL Anywhere 12\Assembly\v2\iAnywhere.MobiLink.Script.dlmldotnetmldotnet\CustdbScripts.cs |
Für Visual Basic führen Sie den folgenden Befehl aus:
vbc /out:c:\mldotnet\custdbscripts.dll /target:library /reference:"C:\Programme\SQL Anywhere 12\Assembly\v2\iAnywhere.MobiLink.Script.dll" c:\mldotnet\CustdbScripts.vb |
Die Assembly CustdbScripts.dll wird generiert.
Fortfahren mit Lektion 2: Erstellen des MobiLink-Projekts.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |