Mobile Link は、統合データベース・サーバと多数のモバイル・データベースとの間で同期を実行できるように設計されています。この項では、リモート・データベースを 2 つ作成します。データベースごとに次の作業を行う必要があります。
統合スキーマ内の特定部分の移行
同期パブリケーション、同期ユーザ、同期サブスクリプションの作成
レッスン 1 では、Sybase Central を使用してデータベースを作成しました。ここでは、コマンド・ライン・ユーティリティを使用します。この 2 つのツールのどちらを使用しても結果は同じです。
コマンド・プロンプトで、リモート・データベースを作成するディレクトリに移動します。
次のコマンドを入力して、データベースを作成します。
dbinit -p 4096 remote1.db |
次のように入力して、remote2 も起動します。
dbinit -p 4096 remote2.db |
ここでは、-p オプションを使用してページ・サイズを 4K に設定しています。このサイズに設定すると、多くの環境でパフォーマンスが向上します。
dbinit のオプションの詳細については、初期化ユーティリティ (dbinit)を参照してください。
次のように入力してデータベースを起動します。
dbeng11 remote1.db |
次のように入力して、remote2 も起動します。
dbeng11 remote2.db |
統合データベース・スキーマのサブセットを移行するには、次の作業を行う必要があります。
リモート・データベースへの接続
リモート・サーバと外部ログインの作成
Sybase Central のデータベース移行ウィザードの使用
[スタート] - [プログラム] - [SQL Anywhere 11] - [Sybase Central] をクリックします
次の手順でリモート・データベースに接続します。
左ウィンドウ枠で、[SQL Anywhere 11] をクリックします。
[ファイル] - [接続] をクリックします。
[ID] タブをクリックします。
[ユーザ ID] フィールドに DBA と入力します。
[パスワード] フィールドに sql と入力します。
[データベース] タブをクリックします。
[サーバ名] フィールドに remote1 と入力します。
[OK] をクリックします。
次の手順でリモート・サーバを作成します。
左ウィンドウ枠で [リモート・サーバ] を右クリックし、[新規] - [リモート・サーバ] を選択します。
[新しいリモート・サーバの名前を指定してください。] フィールドに my_sa と入力します。[次へ] をクリックします。
[SQL Anywhere] をクリックします。[次へ] をクリックします。
[接続情報を指定してください。] フィールドに sa_cons と入力します。[次へ] をクリックします。
[次へ] をクリックします。
[現在のユーザの外部ログインを作成する] をクリックします。
[ログイン名] フィールドに DBA と入力します。
[パスワード] フィールドに sql と入力します。
[パスワードの確認] フィールドに sql と入力します。
[完了] をクリックします。
次の手順で統合データベース・スキーマを移行します。
[ツール] - [SQL Anywhere 11] - [データベースの移行] をクリックします。
[次へ] をクリックします。
[移行先のデータベースを指定してください。] リストで remote1 を選択します。[次へ] をクリックします。
[移行元のリモート・サーバを指定してください。] リストで my_sa を選択します。[次へ] をクリックします。
[使用可能なテーブル] リストで Product を選択し、[追加] をクリックします。[次へ] をクリックします。
[DBA] をクリックします。[次へ] をクリックします。
[データの移行] をオフにします。[完了] をクリックします。
[閉じる] をクリックします。
remote2 データベースを使用して手順 2 ~ 4 を繰り返します。
パブリケーションは、リモート・データベース上の同期対象となるテーブルとカラムを識別します。これらのテーブルとカラムをアーティクルと呼びます。同期サブスクリプションは、パブリケーションに対する Mobile Link ユーザのサブスクリプションです。
同期サブスクリプションとパブリケーションはリモート・データベースに格納されます。
Sybase Central の左ウィンドウ枠で、remote1 - DBA を右クリックし、[ファイル] - [Interactive SQL を開く] を選択します。
次の手順で remote1 の同期情報を入力します。
Interactive SQL で次のコードを実行します。
CREATE PUBLICATION pub_1 (TABLE Product); CREATE SYNCHRONIZATION USER user_1; CREATE SYNCHRONIZATION SUBSCRIPTION TO pub_1 FOR user_1 TYPE TCPIP ADDRESS 'host=localhost' OPTION scriptversion='ver1'; |
Interactive SQL を起動し、remote2 に接続します。
次の手順で remote2 の同期情報を入力します。
Interactive SQL で次のコードを実行します。
CREATE PUBLICATION pub_2 (TABLE Product); CREATE SYNCHRONIZATION USER user_2; CREATE SYNCHRONIZATION SUBSCRIPTION TO pub_2 FOR user_2 TYPE TCPIP ADDRESS 'host=localhost' OPTION scriptversion='ver1'; |
これで、リモート・データベースと統合データベースの準備が完了しました。次のレッスンでは、同期スクリプトを作成します。レッスン 4 では同期を実行します。
パブリケーションとサブスクリプションの定義方法の詳細については、データのパブリッシュを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |