本课假定您已完成前面的所有课程。 请参见第 1 课:建立统一数据库。
在本课中,您将生成数据库模式,其中包括 Dealer 表、non_sync_request 表和 download_cursor 同步脚本。此数据库模式满足生成推式请求的要求。
单击 [开始] » [程序] » [SQL Anywhere 12] » [管理工具] » [Sybase Central]。
执行以下任务以连接到统一数据库:
单击 [连接] » [使用 SQL Anywhere 12 连接]。
从 [操作] 下拉列表中选择 [使用 ODBC 数据源连接]。
单击 [ODBC 数据源名称],然后单击 [浏览]。
选择 [SIS_CarDealer_LP_DBLSN_CONDB],然后单击 [确定]。
单击 [连接]。
使用 Interactive SQL 连接到数据库。
可以从 Sybase Central 或命令提示符启动 Interactive SQL。
要从 Sybase Central 启动 Interactive SQL,请右击 SIS_CarDealer_LP_DBLSN_CONDB - DBA 数据库,然后单击 [打开 Interactive SQL]。
若要在命令提示符下启动 Interactive SQL,请运行以下命令:
dbisql -c "dsn=SIS_CarDealer_LP_DBLSN_CONDB" |
执行以下 SQL 语句,创建和设置 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) ) |
使用以下语句,将数据插入 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; |
执行以下 SQL 语句,创建 MobiLink 系统表和存储过程。将 C:\Program Files\SQL Anywhere 12\ 替换为 SQL Anywhere 12 的安装位置。
READ "C:\Program Files\SQL Anywhere 12\MobiLink\setup\syncsa.sql" |
运行以下 SQL 脚本,指定 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} )' ); CALL ml_add_table_script( 'CarDealer', 'Dealer', 'download_delete_cursor', '--{ml_ignore}' ); COMMIT; |
此脚本设置 ml_sis_sync_state 以记录仅下载同步。记录同步状态允许您从 request_cursor 事件引用 ml_sis_sync_state 系统表。您将在下一课中指定 request_cursor 事件。
关闭 Interactive SQL。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |