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

SQL Anywhere 11.0.1 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:与 XML 同步

 

第 2 课:建立 MobiLink 统一数据库

MobiLink 统一数据库是数据的中央存储库,包括用来管理同步过程的 MobiLink 系统表和存储过程。使用直接行处理,可与统一数据库以外的其它数据源同步,但您仍需要统一数据库来维护 MobiLink 服务器所使用的信息。

在本课中,您将:

  • 创建数据库并定义 ODBC 数据源。

  • 添加数据表以同步远程客户端。

  • 安装 MobiLink 系统表和存储过程。

注意

如果您已建立了具有 MobiLink 系统对象和 DSN 的 MobiLink 统一数据库,则可跳过本课。

♦  创建 SQL Anywhere RDBMS
  1. 选择 [开始] » [程序] » [SQL Anywhere 11] » [Sybase Central]。

  2. 在 Sybase Central 中,选择 [工具] » [SQL Anywhere 11] » [创建数据库]。

  3. 单击 [下一步]。

  4. 保留缺省值 [在这台计算机上创建数据库],然后单击 [下一步]。

  5. 在 [将主数据库文件保存到以下文件] 字段中键入数据库的文件名和路径。例如,c:\MLobjxml\MLconsolidated.db。单击 [下一步]。

  6. 请按照 [创建数据库向导] 中的其余说明进行操作并接受缺省值。在 [连接到数据库] 页面上,清除 [最后一次断开连接后停止数据库] 选项。

  7. 单击 [完成]。

    在 Sybase Central 中就会出现名为 MLconsolidated 的数据库。

♦  为统一数据库定义 ODBC 数据源
  1. 在 Sybase Central [工具] 菜单中,选择 [SQL Anywhere 11] » [打开 ODBC 管理器]。

  2. 单击 [用户 DSN] 选项卡,然后单击 [添加]。

  3. 在 [名称] 列表中,单击 [SQL Anywhere 11]。单击 [完成]。

  4. 在 [SQL Anywhere 11 的 ODBC 配置] 窗口中,进行以下操作:

    1. 单击 [ODBC] 选项卡。

    2. 在 [数据源名] 字段中,键入 mlxml_db

    3. 单击 [登录] 选项卡。

    4. 在 [用户 ID] 字段键入 DBA

    5. 在 [口令] 字段中键入 sql

    6. 单击 [数据库] 选项卡。

    7. 在 [服务器名] 字段中键入 MLconsolidated

    8. 在 [数据库文件] 字段中,键入 c:\MLobjxml\MLconsolidated.db

    9. 单击 [确定]。

  5. 单击 [确定]。

为同步创建表

在此过程中,在 MobiLink 统一数据库中创建 RemoteOrders 表。RemoteOrders 表包含以下各列:

说明

order_id

订单的唯一标识符。

product_id

产品的唯一标识符。

quantity

销售项目的数量。

order_status

订单状态。

last_modified

行上次修改的日期。此列用于基于时间戳的下载,这是一种为提高同步效率而过滤行的常用技术。

♦  创建 RemoteOrders 表
  1. 使用 Interactive SQL 连接到数据库。

    可以从 Sybase Central 或命令提示符启动 Interactive SQL。

    • 若要从 Sybase Central 启动 Interactive SQL,请单击数据库 MLconsolidated - DBA。从 Sybase Central [文件] 菜单中,选择 [打开 Interactive SQL]。

    • 若要在命令提示符下启动 Interactive SQL,请运行以下命令:

      dbisql -c "dsn=mlxml_db"
  2. 在 Interactive SQL 中运行以下命令创建 RemoteOrders 表。

    CREATE TABLE RemoteOrders
    (
     order_id           integer not null,
     product_id         integer not null,
     quantity           integer,
     order_status       varchar(10) default 'new',
     last_modified      timestamp default current timestamp,
     primary key(order_id)
    )

    Interactive SQL 会在统一数据库中创建 RemoteOrders 表。

    在 Interactive SQL 中为以下过程保持连接。

运行 MobiLink 安装脚本

可以在 SQL Anywhere 11 安装目录的 MobiLink/setup 子目录中查找每个支持的统一数据库的安装脚本。

在此过程中建立 SQL Anywhere 统一数据库。可以使用 syncsa.sql 安装脚本来执行这一操作。运行 syncsa.sql 时会创建一系列以 ml_ 为前缀的系统表和存储过程。MobiLink 服务器在同步过程中会使用这些表和存储过程。

♦  安装 MobiLink 系统表
  1. 如果您尚未建立连接,则在 Interactive SQL 中连接到统一数据库。

    运行以下命令:

    dbisql -c "dsn=mlxml_db"
  2. 在 Interactive SQL 中运行以下命令来创建 MobiLink 系统表和存储过程。用 SQL Anywhere 11 安装目录的位置来替换 c:\Program Files\SQL Anywhere 11\

    read "c:\Program Files\SQL Anywhere 11\MobiLink\setup\syncsa.sql"

    Interactive SQL 将 syncsa.sql 应用到您的统一数据库。

在 Interactive SQL 中为下一课保持连接。

进一步阅读

有关创建 SQL Anywhere 数据库的信息,请参见初始化实用程序 (dbinit)

有关创建表的信息,请参见CREATE TABLE 语句

有关建立 MobiLink 统一数据库的信息,请参见MobiLink 统一数据库