このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:統合データベースの設定を参照してください。
このレッスンでは、1 つのデータベーススキーマを生成します。このスキーマには、Dealer テーブル、non_sync_request テーブル、download_cursor 同期スクリプトが含まれます。このデータベーススキーマは、Push 要求を生成するための稼働条件を満たしています。
[スタート] » [プログラム] » [SQL Anywhere 12] » [管理ツール] » [Sybase Central] をクリックします。
次のタスクを実行して、統合データベースに接続します。
[接続] ‐ [SQL Anywhere 12 に接続] をクリックします。
[アクション] ドロップダウンリストから、[ODBC データソースを使用した接続] を選択します。
[ODBC データソース名] をクリックし、[参照] をクリックします。
SIS_CarDealer_LP_DBLSN_CONDB を選択し、[OK] をクリックします。
[接続] をクリックします。
Interactive SQL を使用してデータベースに接続します。
Interactive SQL は、Sybase Central またはコマンドプロンプトから起動できます。
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 文を実行して Mobile Link のシステムテーブルとストアドプロシージャーを作成します。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 で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |