Mobile Link 統合データベースはデータの中央レポジトリであり、同期処理の管理に使用する Mobile Link のシステム・テーブルとストアド・プロシージャが含まれます。ダイレクト・ロー・ハンドリングでは、統合データベース以外のデータ・ソースと同期しますが、Mobile Link サーバが使用する情報を保持するために統合データベースも必要です。
このレッスンでは、次の作業を行います。
データベースを作成し、ODBC データ・ソースを定義します。
同期するデータ・テーブルをリモート・クライアントに追加します。
Mobile Link のシステム・テーブルとストアド・プロシージャをインストールします。
Mobile Link 統合データベースを Mobile Link システム・オブジェクトと DSN を使用して設定済みの場合は、このレッスンは省略できます。
[スタート] - [プログラム] - [SQL Anywhere 11] - [Sybase Central] を選択します。
Sybase Central で、[ツール] - [SQL Anywhere 11] - [データベースの作成] を選択します。
[次へ] をクリックします。
[このコンピュータにデータベースを作成] をデフォルトのままにし、[次へ] をクリックします。
[メイン・データベース・ファイルを保存] フィールドに、データベースのファイル名およびパスを入力します。たとえば、c:\MLobjxml\MLconsolidated.db と入力します。[次へ] をクリックします。
データベース作成ウィザードの残りの指示に従い、デフォルト値をそのまま使用します。[データベースへの接続] ページで、[最終切断後にデータベースを停止] オプションをオフにします。
[完了] をクリックします。
MLconsolidated というデータベースが Sybase Central に表示されます。
Sybase Central の [ツール] - [SQL Anywhere 11] - [ODBC アドミニストレータを開く] を選択します。
[ユーザー DSN] タブをクリックし、[追加] をクリックします。
[名前] リストで [SQL Anywhere 11] をクリックします。[完了] をクリックします。
[SQL Anywhere 11 の ODBC 設定] ウィンドウで、次の操作を行います。
[ODBC] タブをクリックします。
[データ・ソース名] フィールドに mlxml_db と入力します。
[ログイン] タブをクリックします。
[ユーザ ID] フィールドに DBA と入力します。
[パスワード] フィールドに sql と入力します。
[データベース] タブをクリックします。
[サーバ名] フィールドに MLconsolidated と入力します。
[データベース・ファイル] フィールドに c:\MLobjxml\MLconsolidated.db と入力します。
[OK] をクリックします。
[OK] をクリックします。
この手順では、Mobile Link 統合データベースに RemoteOrders テーブルを作成します。RemoteOrders テーブルには次のカラムが含まれます。
カラム |
説明 |
---|---|
order_id |
注文のユニークな識別子です。 |
product_id |
製品のユニークな識別子です。 |
quantity |
品目の販売数です。 |
order_status |
注文のステータスです。 |
last_modified |
ローが最後に変更された日です。このカラムはタイムスタンプベースのダウンロードに使用します。このダウンロード方法は、効率的な同期のためにローをフィルタする一般的な方法です。 |
Interactive SQL を使用してデータベースに接続します。
Interactive SQL は、Sybase Central またはコマンド・プロンプトから起動できます。
Sybase Central から Interactive SQL を起動するには、データベース MLconsolidated - DBA をクリックします。Sybase Central で [ファイル] - [Interactive SQL を開く] を選択します。
コマンド・プロンプトで Interactive SQL を起動するには、次のコマンドを実行します。
dbisql -c "dsn=mlxml_db" |
Interactive SQL で次のコマンドを実行して RemoteOrders テーブルを作成します。
CREATE TABLE RemoteOrders ( order_id integer not null, product_id integer not null, quantity integer, order_status varchar(10) default 'new', last_modified timestamp default current timestamp, primary key(order_id) ) |
Interactive SQL によって、統合データベースに RemoteOrders テーブルが作成されます。
Interactive SQL はこの後の手順でも使用するので、接続したままにします。
SQL Anywhere 11 インストール環境の MobiLink/setup サブディレクトリに、サポートされている各統合データベースの設定スクリプトがあります。
この手順では、SQL Anywhere 統合データベースを設定します。設定するには、syncsa.sql 設定スクリプトを使用します。syncsa.sql を実行すると、前に ml_ が付いた一連のシステム・テーブルとストアド・プロシージャが作成されます。これらのテーブルとストアド・プロシージャは、同期処理中に Mobile Link サーバによって使用されます。
統合データベースに接続していない場合は、Interactive SQL で接続します。
次のコマンドを実行します。
dbisql -c "dsn=mlxml_db" |
Interactive SQL で次のコマンドを実行して Mobile Link のシステム・テーブルとストアド・プロシージャを作成します。c:\Program Files\SQL Anywhere 11\ は、SQL Anywhere 11 のインストール環境のディレクトリ名に置き換えてください。
read "c:\Program Files\SQL Anywhere 11\MobiLink\setup\syncsa.sql" |
Interactive SQL によって syncsa.sql が統合データベースに適用されます。
Interactive SQL は次のレッスンでも使用するので、接続したままにします。
SQL Anywhere データベースの作成については、初期化ユーティリティ (dbinit)を参照してください。
テーブルの作成については、CREATE TABLE 文を参照してください。
Mobile Link 統合データベースの設定については、Mobile Link 統合データベースを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |