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

SQL Anywhere 12.0.0 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:使用远程数据库的集中管理

 

第 18 课:更改远程模式

在本课中,将更改远程数据库的模式。为实现我们的目的,在更改数据库的远程模式名称时,模式均会发生更改。系统决不会强制您更改远程模式名称,始终由您自行决定。

您应尽量确保,对一个远程数据库执行的任何远程任务均可对任何其它具有相同远程模式名称的远程数据库执行。如果对数据库更改会导致任务失败或成功,则应更改数据库的远程模式名称。任务中唯一受远程数据库状态影响的命令是各个同步执行 SQL 命令。

同步命令具体取决于远程数据库中存在的同步配置文件,因此应该始终在添加或删除同步配置文件时更改远程模式名称。

执行 SQL 命令具体取决于通常被视为模式的许多数据库对象的状态。影响执行 SQL 命令并且因而需要更改远程模式名称的更改包括,从数据库中添加或删除表,变更数据库中表的定义,以及添加或删除存储的过程。

在本教程中,将通过在远程数据库中添加新表来变更远程数据库的模式。

 ♦  更改远程模式
  1. 在 Sybase Central 中,返回 [文件夹] 视图。在 [Central Admin Tutorial] 下,右击 [远程模式名称] 并选择 [新建] » [远程模式名称]。将出现 [创建远程模式名称向导]。

  2. 键入 Tutorial Application v2.0 作为模式名称。

  3. 选择 [SQL Anywhere] 作为数据库类型,然后单击 [完成]。

  4. 下一步是创建一个新的远程任务。在 Sybase Central 的 [文件夹] 视图中,在 [Central Admin Tutorial] 下,右击 [远程任务] 并选择 [新建] » [远程任务]。将出现 [创建远程任务向导]。

  5. 在 [欢迎] 页面上,在 [名称] 字段中键入 Schema Upgrade

  6. 选中 [此任务需要或将创建远程数据库],并将 [远程模式名称] 设置为 [Tutorial Application v1.0]。

  7. 选中 [此任务可更新受管远程数据库的模式],并将 [新远程模式名称] 设置为 [Tutorial Application v2.0]。单击 [完成]。

  8. 在 [命令] 选项卡上,从 [命令类型] 下拉列表中选择 [执行 SQL]。在 [SQL] 字段中,键入以下内容:

    CREATE TABLE  product (
        prod_id            integer primary key,
        name               varchar( 100 )
    )

    现已完成模式更改任务。

    在部署新的模式更改任务前,必须考虑已指派给远程设备的所有任务。在完成 Schema Upgrade 任务后,数据库的远程模式名称将变为 Tutorial Application v2.0。远程设备上与原来的远程模式名称 Tutorial Application v1.0 相关联的所有任务将无法再运行,代理将放弃它们。为保留这些任务提供的功能,必须创建新版的任务并将其与新的远程模式名称关联。

  9. 在 [文件夹] 视图中,在 [Central Admin Tutorial] » [统一数据库] » [教程] » [代理] » 下,单击 [AID_JOHN]。在右窗格中,选择 [任务] 选项卡。代理只能执行仍然活动的任务。这些任务是唯一需要创建新版本的任务。在这种情况下,唯一的活动任务是 Sync every hour 任务。

    通过在 [任务] 选项卡上选中 [远程模式名称] 列,可以确定此任务是否与原来的远程模式名称关联。此任务显示,Sync every hour 任务的 [远程模式名称] 为 [Tutorial Application v1.0],因此它与原来的远程模式名称关联。要在模式更改后继续同步,需要创建此任务的新版本,并将其指派给代理。

  10. 右击 [Sync every hour] 任务,然后选择 [转到任务]。

  11. 右击部署的任务 [Sync every hour],并选择 [复制]。

  12. 右击 [远程任务],然后选择 [粘贴]。在系统要求提供复制任务的名称时,键入 Sync every hour v2,然后单击 [确定]。

  13. 接下来,需要考虑是否需要更改任务中的命令,以便继续使用新模式。在这种情况下,不需要更改任务中的命令。任务中只有 1 个命令,而它仅取决于未使用此模式更改修改的 normal_sync 同步配置文件。

  14. 现在,必须将任务标记为与新的远程模式名称关联。右击 [Sync every hour v2] 任务,并选择 [属性]。在属性表的 [常规] 页面上,选择 [Tutorial Application v2.0] 作为 [远程模式名称],然后单击 [确定]。

  15. 要部署新任务,请右击 [Sync every hour v2] 任务并选择 [部署]。单击 [下一步]。

  16. 对于 [接收者],选择 [特定代理],然后选择代理 AID_JOHN。单击 [下一步],然后单击 [完成]。

  17. 右击 [Schema Upgrade] 任务并选择 [部署]。单击 [下一步]。

  18. 从 [接收者] 下拉列表中,选择 [特定代理],然后将任务指派给代理 AID_JOHN。单击 [下一步],然后单击 [完成]。

    您将看到 Schema Upgrade 任务成功执行。在此之后,Sync every hour v2 任务将开始每小时执行一次,而 Sync every hour 任务将停止执行。