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 - 服务器启动的同步 » 服务器启动的同步教程 » 教程:使用轻量级轮询进行的服务器启动的同步

 

第 2 课:生成数据库模式

在本课中,您将生成数据库模式,其中包括 Dealer 表、non_sync_request 表和 download_cursor 同步脚本。此数据库模式满足生成推式请求的要求。

♦  建立数据库模式
  1. 连接到统一数据库:

    1. 在 Sybase Central 中,右击 [SQL Anywhere 11] 并选择 [连接]。

    2. 单击 [标识] 选项卡。

    3. 单击 [ODBC 数据源名称],然后键入 SIS_CarDealer_LP_DBLSN_CONDB。单击 [确定]。

  2. 启动 Interactive SQL:

    在左窗格中,右击数据库并选择 [打开 Interactive SQL]。

  3. 执行以下语句,创建和设置 Dealer 表和 non_sync_request 表:

    CREATE TABLE Dealer (
        name           VARCHAR(10) NOT NULL PRIMARY KEY,
        rating         VARCHAR(5),
        last_modified  TIMESTAMP DEFAULT TIMESTAMP
    )
    
    CREATE TABLE non_sync_request(
        poll_key       varchar(128)
    )
  4. 使用以下语句,将数据插入 Dealer 表:

    INSERT INTO Dealer(name, rating) VALUES ('Audi', 'a');
    INSERT INTO Dealer(name, rating) VALUES ('Buick', 'b');
    INSERT INTO Dealer(name, rating) VALUES ('Chrysler', 'c');
    INSERT INTO Dealer(name, rating) VALUES ('Dodge', 'd');
    INSERT INTO Dealer(name, rating) VALUES ('Eagle', 'e');
    INSERT INTO Dealer(name, rating) VALUES ('Ford', 'f');
    INSERT INTO Dealer(name, rating) VALUES ('Geo', 'g');
    INSERT INTO Dealer(name, rating) VALUES ('Honda', 'h');
    INSERT INTO Dealer(name, rating) VALUES ('Isuzu', 'I');
    COMMIT;
  5. 执行以下命令,创建 MobiLink 系统表和存储过程。用 SQL Anywhere 11 安装目录的位置来替换 c:\Program Files\SQL Anywhere 11\

    read "c:\Program Files\SQL Anywhere 11\MobiLink\setup\syncsa.sql"
  6. 执行以下语句,指定 download_cursor 同步脚本并将同步状态记录到 ml_sis_sync_state 系统表:

    CALL ml_add_table_script(
        'CarDealer',
        'Dealer',
        'download_cursor',
        'SELECT * FROM Dealer WHERE last_modified >= ?'
    );
    CALL ml_add_connection_script(
        'CarDealer',
        'publication_nonblocking_download_ack',
        'CALL ml_set_sis_sync_state( 
    			     {ml s.remote_id},
            NULL,
         			{ml s.publication_name},
         			{ml s.username},
         			NULL,
         			{ml s.last_publication_download}
        )'
    );
    COMMIT;

    此脚本设置 ml_sis_sync_state 以记录仅下载同步。记录同步状态允许您从 request_cursor 事件引用 ml_sis_sync_state request_cursor 事件。您将在下一课中指定 request_cursor 事件。

  7. 关闭 Interactive SQL。

另请参见