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

SQL Anywhere 11.0.1 (中文) » UltraLite - C 及 C++ 编程 » 应用程序开发 » 开发用于 Palm OS 的 UltraLite 应用程序

 

将 HotSync 同步添加到 Palm 应用程序

HotSync 同步在关闭 UltraLite 应用程序时发生。它由 HotSync 启动。

如果使用 HotSync,请先调用 ULSetSynchInfo 进行同步,然后再关闭应用程序。请不要使用 ULSynchronize 或 ULConnection.Synchronize 进行 HotSync 同步。

要从应用程序启用 HotSync 同步,必须添加执行以下步骤的代码:

  1. 准备一个 ul_synch_info 结构。

  2. 调用 ULSetSynchInfo 函数,提供 ul_synch_info 结构作为参数。

    在用户离开 UltraLite 应用程序时调用此函数。请务必确保提交了所有未完成的操作,然后再调用 db_fini。ul_synch_info.stream 参数将被忽略,因此无需设置它。

    例如:

    //C++ API
    ul_synch_info info;
    ULInitSynchInfo( &info );
    info.stream_parms =
      UL_TEXT( "stream=tcpip;host=localhost" );
    info.user_name = UL_TEXT( "50" );
    info.version = UL_TEXT( "custdb" );
    
    ULSetSynchInfo( &sqlca, &info );
    
    if( !db.Close( ) ) {
      return( false );
    }
  3. 调用 db_fini。

请参见在 UltraLite Palm 应用程序中维护状态(不建议使用)UltraLite 的同步参数

UltraLite 应用程序的 HotSync 同步需要 UltraLite HotSync 管道。如果在关闭 Palm 应用程序时有未提交的事务并在此时进行同步,则管道会因数据库中有未提交的更改而导致同步失败。

指定流参数

ul_synch_info 结构中的同步流参数控制着与 MobiLink 服务器的通信。对于 HotSync 同步,UltraLite 应用程序不直接与 MobiLink 服务器通信,而是与 HotSync 管道通信。

通过提供同步流参数,可以使用以下方式之一控制 MobiLink 管道的行为:

  • 在传递给 ULSetSynchInfo 的 ul_synch_info 结构的 stream_parms 成员中提供所需信息。

    有关可用值的列表,请参见UltraLite 同步流的网络协议选项

  • 为 stream_parms 成员提供一个空值。随后,MobiLink 管道会在其所在计算机的 ClientParms 注册表条目中,搜索有关如何连接到 MobiLink 服务器的信息。

    注册表项中指定流和流参数的形式与 ul_synch_info 结构 stream_parms 字段中的相同。

    请参见UltraLite 同步参数和网络协议选项

另请参见