Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light J » Ultra Light J の使用 » Ultra Light J アプリケーションの開発 » Mobile Link との同期

 

Mobile Link クライアントとしての Ultra Light J の使用

データを同期するには、アプリケーションで次の手順を実行する必要があります。

  1. 統合データベースに関する情報 (サーバ名、ポート番号)、同期するベータベース名、同期するテーブルの定義を含む syncParms オブジェクトをインスタンス化します。

  2. 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 );
        }
    }
}