In dieser Lektion verwenden Sie die direkte Zeilenbehandlung für die Verarbeitung von Zeilen in der OrderComments-Tabelle Ihrer Clientdatenbank. Sie fügen die folgende Methode für die direkte Zeilenbehandlung hinzu:
GetUpload Diese Methode verwenden Sie für das handle_UploadData-Ereignis. GetUpload schreibt hochgeladene Kommentare in die Excel-Tabelle order_central.xls.
SetDownload Diese Methode verwenden Sie für das handle_DownloadData-Ereignis. SetDownload fragt die in der Excel-Tabelle order_central.xls gespeicherten Daten ab und sendet sie an entfernte Clients.
Mit dem nachfolgenden Verfahren können Sie eine Java-Klasse inklusive Ihrer Methoden für die Prozessverarbeitung erstellen. Eine vollständige Auflistung finden Sie unter Vollständige MobiLinkOrders-Auflistung (Java).
Erstellen Sie eine Klasse namens MobiLinkOrders .
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
import ianywhere.ml.script.*; import java.io.*; import java.sql.*; public class MobiLinkOrders { // ... } |
Deklarieren Sie eine DBConnectionContext-Instanzvariable auf Klassenebene.
DBConnectionContext _cc; |
Der MobiLink-Server übergibt eine DBConnectionContext-Instanz an Ihren Klassenkonstruktor. DBConnectionContext umfasst Informationen zur aktuellen Verbindung mit der konsolidierten MobiLink-Datenbank.
Erstellen Sie Ihren Klassenkonstruktor.
Ihr Klassenkonstruktor legt Ihre DBConnectionContext-Instanz auf Klassenebene fest.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
public MobiLinkOrders( DBConnectionContext cc ) { _cc = cc; } |
Erstellen Sie die GetUpload()-Methode.
Die GetUpload-Methode ruft eine UploadedTableData-Klasseninstanz ab, die die OrderComments-Tabelle darstellt. Die OrderComments-Tabelle enthält spezielle Kommentare von entfernten Vertriebsmitarbeitern. Sie erstellen diese Tabelle in Lektion 6: MobiLink-Client einrichten. Die UploadedTableData getInserts-Methode gibt eine Ergebnismenge für neue Bestellkommentare zurück.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
// method for the handle_UploadData synchronization event public void GetUpload( UploadData ut ) throws SQLException, IOException { // get an UploadedTableData for OrderComments UploadedTableData orderCommentsTbl = ut.getUploadedTableByName("OrderComments"); // get inserts uploaded by the MobiLink client ResultSet insertResultSet = orderCommentsTbl.getInserts(); try { // connect to the excel worksheet through ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:excel_datasource" ); while( insertResultSet.next() ) { // get order comments int _commentID = insertResultSet.getInt("comment_id"); int _orderID = insertResultSet.getInt("order_id"); String _specialComments = insertResultSet.getString("order_comment"); // execute an insert statement to add the order comment to the worksheet Statement st = con.createStatement(); st.executeQuery( "insert into [order_sheet$]" + "(order_id, comment_id, order_comment) VALUES (" + Integer.toString(_orderID) + ", " + Integer.toString(_commentID) + ", '" + _specialComments + "')"); st.close(); } con.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } insertResultSet.close(); } |
Schreiben Sie die SetDownload-Methode:
Rufen Sie eine Klasseninstanz ab, die die OrderComments-Tabelle darstellt.
Verwenden Sie die DBConnectionContext getDownloadData-Methode, um eine DownloadData-Instanz zu erhalten. Verwenden Sie die DownloadData getDownloadTableByName-Methode zur Rückgabe einer DownloadTableData-Instanz für die OrderComments-Tabelle.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
DownloadData download_d = _cc.getDownloadData(); DownloadTableData download_td = download_d.getDownloadTableByName( "OrderComments" ); |
Die Erstellung dieser Tabelle in der entfernten Datenbank wird in Lektion 6: MobiLink-Client einrichten beschrieben.
Rufen Sie eine vorbereitete Anweisung auf, die Ihnen das Hinzufügen von Einfüge- oder Aktualisierungsvorgängen zum Download ermöglicht.
Verwenden Sie die DownloadTableData getUpsertPreparedStatement-Methode, um eine java.sql.PreparedStatement-Instanz zurückzugeben.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
PreparedStatement download_upserts = download_td.getUpsertPreparedStatement(); |
Legen Sie die Downloaddaten für jede Zeile fest.
Das folgende Beispiel durchläuft die Tabelle order_central.xls und fügt dem MobiLink-Download Daten hinzu.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
try { // connect to the excel worksheet through ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:excel_datasource" ); // retrieve all the rows in the worksheet Statement st = con.createStatement(); ResultSet Excel_rs = st.executeQuery( "select * from [order_sheet$]" ); while (Excel_rs.next()) { // retrieve the row data int Excel_comment_id = Excel_rs.getInt(1); int Excel_order_id = Excel_rs.getInt(2); String Excel_comment = Excel_rs.getString(3); // add the Excel data to the MobiLink download. download_upserts.setInt( 1, Excel_comment_id ); download_upserts.setInt( 2, Excel_order_id ); download_upserts.setString( 3, Excel_comment ); download_upserts.executeUpdate(); } // close the excel result set, statement, and connection. Excel_rs.close(); st.close(); con.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } |
Schließen Sie die vorbereitete Anweisung für das Hinzufügen von Einfüge- oder Aktualisierungsvorgängen zum Download.
Geben Sie den folgenden Code in einen Texteditor oder eine Entwicklungsumgebung ein.
download_upserts.close(); |
Speichern Sie den Java-Code unter dem Namen MobiLinkOrders.java in Ihrem Arbeitsverzeichnis c:\MLobjexcel.
Kompilieren Sie Ihre Klassendatei.
Navigieren Sie zum Verzeichnis mit Ihren Java-Quelldateien.
Kompilieren Sie MobiLinkOrders mit Referenzen zur API-Bibliothek des MobiLink-Servers für Java.
Sie müssen mlscript.jar unter Installationsverzeichnis\Java referenzieren. Geben Sie die folgende Befehlszeile ein, um Ihre Java-Klasse zu kompilieren. Ersetzen Sie c:\Programme\SQL Anywhere 11\ durch Ihr SQL Anywhere 11-Verzeichnis:
javac -classpath "c:\Programme\SQL Anywhere 11\java\mlscript.jar" MobiLinkOrders.java |
Weitere Hinweise zur Synchronisationslogik finden Sie unter Synchronisationsskripten in Java erstellen.
Weitere Hinweise zur direkten Zeilenbehandlung finden Sie unter Direkte Zeilenbehandlung.
Vollständige MobiLinkOrders-Auflistung (Java)
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 |