このレッスンでは、SQL Anywhere データベースを統合データベースと Mobile Link クライアントに使用します。また、このチュートリアルの目的上、Mobile Link クライアント、統合データベース、および Mobile Link サーバはすべて同じコンピュータに置きます。
前提条件
このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:XML データソースの設定を参照してください。
このレッスンでは、このチュートリアルの開始時に、権限のセクションで一覧されているロールと権限を持っていることを前提としています。 チュートリアル:XML との同期
内容と備考
Mobile Link クライアントデータベースを設定するには、RemoteOrders と OrderComments の各テーブルを作成します。RemoteOrders テーブルは、統合データベースの RemoteOrders テーブルに対応します。Mobile Link サーバでは、SQL ベースのスクリプトを使用してリモート注文が同期されます。OrderComments テーブルは、クライアントデータベースだけで使用されます。Mobile Link サーバでは、特別なイベントを使用して OrderComments テーブルが処理されます。
dbinit コマンドラインユーティリティを使用して、Mobile Link クライアントデータベースを作成します。
c:\MLobjxml に移動して、次のコマンドを実行します。
dbinit -i -k -dba DBA,sql remote1 |
-i オプションと -k オプションは、それぞれ jConnect のサポートと Watcom SQL の互換ビューを省略します。
dbsrv16 コマンドラインユーティリティを使用して、Mobile Link クライアントデータベースを起動します。
次のコマンドを実行します。
dbsrv16 remote1 |
Interactive SQL を使用して Mobile Link クライアントデータベースに接続します。
次のコマンドを実行します。
dbisql -c "SERVER=remote1;UID=DBA;PWD=sql" |
RemoteOrders テーブルを作成します。
Interactive SQL で次の SQL 文を実行します。
CREATE TABLE RemoteOrders ( order_id INTEGER NOT NULL, product_id INTEGER NOT NULL, quantity INTEGER, order_status VARCHAR(10) DEFAULT 'new', PRIMARY KEY(order_id) ); |
OrderComments テーブルを作成します。
Interactive SQL で次の SQL 文を実行します。
CREATE TABLE OrderComments ( comment_id INTEGER NOT NULL, order_id INTEGER NOT NULL, order_comment VARCHAR(255), PRIMARY KEY(comment_id), FOREIGN KEY(order_id) REFERENCES RemoteOrders(order_id) ); |
Mobile Link 同期ユーザ、パブリケーション、サブスクリプションを作成します。
Interactive SQL で次の SQL 文を実行します。
CREATE SYNCHRONIZATION USER ml_sales1; CREATE PUBLICATION order_publ (TABLE RemoteOrders, TABLE OrderComments); CREATE SYNCHRONIZATION SUBSCRIPTION TO order_publ FOR ml_sales1 TYPE TCPIP ADDRESS 'host=localhost'; |
Mobile Link サーバに接続する方法は、CREATE SYNCHRONIZATION SUBSCRIPTION 文の TYPE 句と ADDRESS 句を使用して指定します。
パブリケーションを使用して、同期するデータを指定できます。この例では、RemoteOrders と OrderComments のテーブルをすべて指定します。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |