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

SAP Sybase SQL Anywhere 16.0 (中文) » MobiLink - 客户端管理 » MobiLink 客户端简介 » 远程 MobiLink 客户端中的模式更改

 

更改已部署的 SQL Anywhere 远程数据库中发布的表

可以更改已部署的 SQL Anywhere 远程数据库中的表定义。

前提条件

您必须是发布的所有者,或者具有以下其中一种特权:

  • 发布的 ALTER 特权
  • SYS_REPLICATION_ADMIN_ROLE 系统角色

上下文和注释

当 MobiLink 客户端使用新模式进行同步时,它需要的脚本(例如 upload_update 或 download_cursor 这样的脚本)中应该包含与远程表中的所有列相对应的参数。而旧的远程数据库则需要使用只包含原始列作为参数的脚本。

 任务
  1. 在统一数据库中,创建一个新的脚本版本。

  2. 使用新的脚本版本,为发布中所有的表创建脚本,这些发布包含要更改的表且已使用旧脚本版本进行同步。

  3. 在远程数据库中,使用旧脚本版本执行常规同步。继续操作前应确保同步成功完成。

  4. 在远程数据库中,使用 ALTER PUBLICATION 语句临时从发布中删除该表。例如:

    ALTER PUBLICATION your_pub
      DROP TABLE table_name; 

    您可以在 sp_hook_dbmlsync_schema_upgrade 挂接中使用此语句。

  5. 在远程数据库中,使用 ALTER TABLE 语句更改表。

  6. 在远程数据库中,使用 ALTER PUBLICATION 语句将表添加回发布中。

    您可以在 sp_hook_dbmlsync_schema_upgrade 挂接中使用此语句。

  7. 使用新脚本版本进行同步。

结果

已更改发布的表。

 另请参见