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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 更改和升级 » 9.0.0 版中的新功能 » 9.0 版中的行为更改

 

MobiLink 的行为更改

以下是对该软件先前版本的行为更改列表。

  • 不再支持 dbmlsync 选项 -i 和扩展选项 SiteScriptName   不再支持 dbmlsync -i 和 dbmlsync -e sc。它们已被名为 sp_hook_dbmlsync_schema_upgrade 的新挂接所替换。

    请参见sp_hook_dbmlsync_schema_upgrade

  • 下载确认现在缺省为 OFF   如果是 Adaptive Server Anywhere 远程数据库,SendDownloadAck 扩展选项现在的缺省值为 OFF。如果是 UltraLite 远程数据库,ul_synch_info 结构的 send_download_ack 字段现在的缺省值是 ul_false。

    升级到版本 9 时,如果应用程序必须知道在提交下载事务之前远程数据库是否已应用了下载,则必须显式地将此选项设置为 On。请参见:

  • 有些 dbmlsync 挂接在缺省情况下可能无法在 Windows CE 设备上工作   dbmlsync 扩展选项 LockTables 已进行了修改,现在可以通过它指定是以共享模式还是独占模式来锁定表。LockTables 的缺省设置是 ON,此设置继续为除 Windows CE 之外的所有平台以共享模式锁定表。但在 Windows CE 设备上,ON 现在意味着以排它模式锁定表。此项更改显著地增强了 Windows CE 应用程序的性能。

    dbmlsync 事件挂接 sp_hook_dbmlsync_download_com_error、sp_hook_dbmlsync_download_fatal_sql_error 和 sp_hook_dbmlsync_download_log_ri_violation 都在不同的连接上执行。如果它们尝试访问以排它模式锁定的任何同步表,则无法正确执行。如果您的部署在 Windows CE 上使用这些挂接中的任何一个,那么您可能需要将 LockTables 设置为 SHARE。请参见:

  • MobiLink 服务器错误代码   MobiLink 服务器现在会提供更多有关错误的信息。所有 MobiLink 服务器错误代码都小于 -10000,从 -10001 开始。对于 dbmlsync,错误显示在 GUI 和输出文件中。对于 UltraLite,错误以字符串形式显示在 ul_synch_info 结构中。

    请参见MobiLink 服务器错误消息

  • 不再支持上载光标   不建议使用以下脚本:upload_cursor、new_row_cursor 和 old_row_cursor。您应该为上载流使用基于语句的脚本。

    请参见编写用于上载行的脚本

  • 不建议使用 -zac 和 -zec   已不建议使用用于生成基于游标的脚本的 MobiLink 服务器选项 -zac 和 -zec。

  • 删除 -zd   MobiLink 服务器选项 -zd 已被删除,因为它会导致最后才传递 last_download 时间戳。现在始终首先传递此参数。

  • 不建议使用 mlxtract   不建议使用 mlxtract 实用程序。

    请参见创建远程数据库

  • 总是调用 end_synchronization 脚本   在 9.0 版之前,同步失败时可能不会调用 end_synchronization 脚本。现在,只要调用了 begin_synchronization 脚本,就会调用 end_synchronization 脚本。这意味着无论同步成功与否,您放置在 end_synchronization 脚本中的所有清理活动都会得到执行。

    此外,end_synchronization 脚本还有一个新参数 sync_ok,它指示同步已成功 (1) 还是已失败 (0)。

    请参见end_synchronization 连接事件end_synchronization 表事件

  • 流 Dll 和共享对象被重命名   流 Dll 和共享对象的名称进行了更改,以改善与 Adaptive Server Anywhere 的一致性。下表详细列出了这些更改:

    旧名称 新名称
    dbhttp9 dbmlhttp9
    dbhttps9 dbmlhttps9
    dbjrsa9 dbmljrsa9
    dbjtls9 dbmljtls9
    dbrsa9 dbmlrsa9
    dbsock9 dbmlsock9
    dbtls9 dbmltls9

    请参见部署 MobiLink 应用程序

  • 不再支持 ScoutSync   不再支持 ScoutSync。

  • 每次同步时不再重装模式信息   在 9.0 版之前,dbmlsync 在每次同步前重新从数据库中装载模式信息。现在只在 dbmlsync 启动时重装模式信息。可以使用 dbmlsync -sc 选项恢复为原来的行为。如果不使用 -sc,则在对远程数据库进行任何更改前应先关闭 dbmlsync。不关闭 dbmlsync 就更改模式可能会导致发生同步错误或出现其它意外行为。

    请参见-sc 选项

  • 如果丢失关键脚本,同步现在会中断   在 9.0 版之前,即使缺少某些可能会导致数据丢失的脚本,同步仍会继续。现在 MobiLink 会在这种情况下中断。您可以使用 dbmlsrv9 -fr 选项指定生成错误而不是使其失败。

    请参见-fr 选项

  • 删除了 keep_alive 同步参数   现在,TCP/IP 和 HTTP 协议的 keep_alive 同步参数已不再有效;实际上该参数现在始终设置为 ON。这是以前的缺省设置。若要控制 TCP/IP 连接的活动,您可以使用 liveness_timeout 参数。

    请参见CommunicationAddress (adr) 扩展选项-x 选项中的 liveness_timeout 参数。