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

SQL Anywhere 11.0.1 (中文) » UltraLiteJ » 使用 UltraLiteJ » 开发 UltraLiteJ 应用程序 » 与 MobiLink 同步

 

将 UltraLiteJ 用作 MobiLink 客户端

要同步数据,您的应用程序必须执行以下步骤:

  1. 实例化 syncParms 对象,该对象包含以下相关信息:统一数据库(服务器名、端口号)、要同步的数据库的名称以及要同步的表的定义。

  2. 使用 syncParms 对象从连接对象中调用同步方法,以执行同步。

可在表级别定义要同步的数据。不能为表的一部分配置同步。

另请参见
示例

本示例介绍如何使用 UltraLiteJ 应用程序同步数据。

要将具有 SQL Anywhere 11 CustDB 的 MobiLink 服务器作为统一数据库启动,请运行 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 );
        }
    }
}