データを同期するには、アプリケーションで次の手順を実行する必要があります。
統合データベースに関する情報 (サーバ名、ポート番号)、同期するベータベース名、同期するテーブルの定義を含む syncParms オブジェクトをインスタンス化します。
syncParms オブジェクトを渡した接続オブジェクトから synchronize メソッドを呼び出して、同期を実行します。
同期するデータはテーブル・レベルで定義できます。テーブルの一部分を同期するように設定することはできません。
この例は、Ultra Light J アプリケーションでデータを同期する方法を示しています。
SQL Anywhere 11 CustDB を統合データベースとして Mobile Link サーバを起動するには、samples-dir\UltraLiteJ ディレクトリから start_ml.bat を実行します。
package ianywhere.ultralitej.demo; import ianywhere.ultralitej.*; /** * Sync: sample program to demonstrate Database synchronization. * * Requires starting the MobiLink Server Sample using start_ml.bat */ public class Sync { /** * mainline for program. * * @param args command-line arguments * */ public static void main ( String[] args ) { try { Configuration config = DatabaseManager.createConfigurationFile( "Demo1.ulj" ); Connection conn = DatabaseManager.createDatabase( config ); conn.schemaCreateBegin(); TableSchema table_schema = conn.createTable( "ULCustomer" ); table_schema.createColumn( "cust_id", Domain.INTEGER ); table_schema.createColumn( "cust_name", Domain.VARCHAR, 30 ); IndexSchema index_schema = table_schema.createPrimaryIndex( "prime_keys" ); index_schema.addColumn( "cust_id", IndexSchema.ASCENDING ); conn.schemaCreateComplete(); // // Synchronization // // Version set for MobiLink 11.0.x SyncParms syncParms = conn.createSyncParms( SyncParms.HTTP_STREAM, "50", "custdb 11.0" ); syncParms.getStreamParms().setPort( 9393 ); conn.synchronize( syncParms ); SyncResult result = syncParms.getSyncResult(); Demo.display( "*** Synchronized *** bytes sent=" + result.getSentByteCount() + ", bytes received=" + result.getReceivedByteCount() + ", rows received=" + result.getReceivedRowCount() ); conn.release(); } catch( ULjException exc ) { Demo.displayException( exc ); } } } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |