ファイル・メッセージ・システムを使用した Windows CE でのレプリケーションの設定
概要:この文書では、ファイル・メッセージ・システムを使用して Windows NT ワークステーションまたは Windows 9x マシンと Windows CE で双方向レプリケーションを設定する方法を説明します。
注意:この文書では、Adaptive Server Anywhere (SQL Anywhere) 6.0.3、WinCE 2.11、ActiveSync 2.x を使用する場合について説明しています。Pocket PC 3.0 と ActiveSync 3.1 を使用している場合は、一部の設定を変更する必要があります。また、ここで説明する方法は ASA 7.x でも使用できますが、一部の変更が必要です。また、本資料の本文は日本語版ソフトウェア、画面イメージの図は英語版ソフトウェアに基づいています。日本語版と英語版の標記が大きく異なる場合は、本文中に併記しています。
稼働条件
1. ActiveSync バージョン 2.X または 3.0.x をデスクトップ・マシンにインストールして設定し、ハンドヘルド・デバイスと通信できる必要があります (注意:ActiveSync は、Microsoft 社の Web サイトの http://www.microsoft.com/mobile/pocketpc/downloads/defaults.asp からダウンロードできます)。
2. Windows9X、SP3 以降を適用した Windows NT のいずれかが必要です。
3. Windows CE 2.11 を使用している場合は、ASA6.0.3 または 7.x を使用する必要があります。Windows CE 2.0 を使用している場合は、ASA6.0.2 を使用する必要があります (注意:ASA 6.0.3 を CE 2.0 で使用する、および ASA 6.0.2 を CE 2.1 で使用することはできません)。
Windows CE でオペレーティング・システムのバージョンを確認するには、次の手順に従います。
a) [スタート] – [設定] – [コントロール パネル] – [システム] を選択します。
b) [System] タブを選択します。次の図のように表示されます。
Active Sync のインストールの確認
この文書は、Windows NT4 ワークステーションの場合を説明しています。Windows 9x プラットフォームでも、手順はほぼ同じです。
はじめる前に、次の点を確認してください。
a) Windows デスクトップ・マシンに Handheld_PC 同期ファイルというフォルダ (またはそれに相当する同期用フォルダ) が必要です。このフォルダは、ActiveSync のインストール時に作成されます (ActiveSync ソフトウェアのマニュアルを参照してください)。
b) Windows CE では、このフォルダは \My Documents\同期ファイルというディレクトリです。
注意:Windows CE では、\ をルートと呼びます。C:\ や D:\ といった名前はありません。
ファイル・メッセージ・システムを使用して NT と CE でレプリケーションを設定する方法
これまでの説明に従って、すべての設定を正しく行っているものとします。
a) Adaptive Server Anywhere (SQL Anywhere) 6.0.3 に付属の asademo.db データベース・ファイルを使用します。 このファイルは、c:\Program Files\Sybase\Adaptive Server Anywhere 6.0 にあります。 Asademo.db は、統合データベースです。
b) リモート・ユーザが少なくとも 1 つ必要です。これを user1 とします。
レプリケーションを設定するには、次の手順に従います。
1. 統合データベースに接続します。メイン・データベースとして使用するデータベースであれば、任意のものを使用できます。
Sybase Central を実行します。[ツール] を選択して接続します。Adaptive Server Anywhere を選択します。
2. Adaptive Server Anywhere をクリックすると、次のようなダイアログ・ボックスが表示されます。
a) [ユーザ ID] フィールドに dba と入力します。
b) [パスワード] フィールドに sql と入力します。
c) [データベース] タブをクリックします。
d) [データベース・ファイル] フィールドで、[参照] をクリックして asademo.db ファイルを選択します。
e) 選択したら、[OK] をクリックします。
画面右下に次のようなアイコンが表示されます。
3. 次の手順に従って、SQL Remote のデータ・レプリケーション・アプリケーションを設定します。
a) 統合データベースを作成してデータを入力します。この例では、asademo.db にデータがすでに入力されていて使用可能であるため、この手順はすでに実行されています。
b) パブリッシャを定義します。
asademo のコンピュータ・アイコンを Sybase Central で展開します。
シリンダのアイコンが横に表示された asademo (dba) を展開します。
- [ユーザ & グループ] をクリックします。
- DBA を選択します。
- DBA を右クリックして [パブリッシャとして設定] を選択します。
c) DBA をパブリッシャとして設定した場所で [ユーザの追加] をダブルクリックします。図 8 を参照してください。新しいユーザ名は user1 とします。ウィザードに従います。
注意: リモートDBA の横にチェック・ボックスが表示されていることを確認してください (SQL Remote メッセージ・エージェントで必要です)。
d) メッセージ・タイプを設定します。設定するには、Sybase Central で SQL Remote フォルダをクリックします。図 8 を参照してください。[メッセージ・タイプ] をダブルクリックします。 [FILE] をダブルクリックします。[パブリッシャ・アドレス] に cons と入力します。
注意:デスクトップ・マシンにある Handheld_PC 同期ファイルフォルダ内に、以下のフォルダを作成する必要があります。この文書では、cons というフォルダを作成します。
統合データベースのフォルダの最終的なアドレスは、..\Handheld_PC 同期ファイル\cons になります (これはデスクトップ・マシンでのパスです)。
注意:Handheld_PC 同期ファイルは、Handheld_PC1 同期ファイル または ユーザ名 同期ファイルという名前になっている場合があります。ハンドヘルド・デバイスでのフォルダ名を確認してください。
e) リモート・ユーザを定義します。図 8 と手順 b) を参照してください。手順 c) で作成したユーザ user1 を右クリックし、ポップアップ・メニューから [リモートを設定] を選択します。[アドレス]に remote1 と入力します (注意:任意のアドレスを指定できますが、ここではわかりやすくするため remote1 と入力します)。
次のようなダイアログ・ボックスが表示されます。[OK] をクリックします。
注意:リモート・データベース remote1 で \My Documents\同期ファイルをパブリッシャのアドレスに追加し、リモート・ユーザのアドレスを cons に追加するため、CE デバイスの dbremote を設定する必要があります。これにより、dbremote を実行すると、\My Documents\同期ファイル\cons と \My Documents\同期ファイル\remote1 に対して同期が行われます。したがって、リモート・データベースと統合データベースの間でレプリケーションを正常に行うには、このディレクトリ構造が CE デバイスに存在している必要があります。
次の図のように表示されます。
注意:[タイプ] の欄に注意してください。DBA ではパブリッシャ、user1 ではリモート・ユーザになっています。
f) パブリケーションを定義します。図 8 を参照してください。SQL Remote フォルダをダブルクリックします。[パブリケーション] をダブルクリックします。
g) [パブリケーションの追加] をクリックします。ウィザードに従います。最初に、パブリケーションに名前を指定します。ここでは、pubOrder とします。[次へ] をクリックします。次に、アーティクルを追加します。
h) [テーブル(Add Table)] をクリックします。[アーティクルを表すテーブルの指定(Which table will represent the article?)] ドロップダウン・メニューで、[sales_order (DBA)] を選択します。[すべてのカラム] を選択します (注意:アーティクルの定義の詳細については、『Sybase Replication Documentation』を参照してください)。
[OK] をクリックします。次の図のように表示されます。[次へ] をクリックし、[完了] をクリックします。
i) サブスクリプションを定義します。user1 で pubOrder のサブスクリプションを作成します。作成方法は多数あります。ここではそのうちの 1 つを紹介します。
図 8 と手順 b) を参照するか、Sybase Central の左側にある [ユーザ & グループ] フォルダをクリックします。user1 を右クリックし、ポップアップ・メニューから[サブスクリプションの作成(Subscribe To)] を選択します。
ウィザードに従います。pubOrder を強調表示し、[サブスクライブ] をクリックします。
手順を進める前に、デスクトップの Handheld_PC 同期ファイルにリモート・ユーザ用のアドレスを作成する必要があります。’Handheld_PC 同期ファイル’ をダブルクリックします。Remote1 という新しいフォルダを作成します。ここには cons フォルダも表示されているはずです。
j) これで、リモート・データベースの抽出と展開を実行できます。
asademo (dba) を右クリックし、[データベースの抽出(Extract Database)] を選択します。[次へ] をクリックします。ドロップダウン・メニューからリモート・ユーザを選択します。ここでは、user1 を選択し、[次へ] をクリックします。次に、リモート・データベースの抽出場所を指定します。ここでは、Handheld_PC 同期ファイルのロング・パスを指定します。次の手順に従います。
- デスクトップで Handheld_PC 同期ファイルショートカットを右クリックし、[プロパティ] を選択します。
- [ショートカット] タブをクリックし、[リンク先(Target)] ボックスに表示されている行 (“C:\WINNT\Profiles\Administrator\Personal\Handheld_PC 同期ファイル”) をすべてコピーします。
注意:デスクトップにアクセスできないために抽出をキャンセルした場合は、手順 j) を繰り返します。
次の画面が表示されます。
- ファイルのロケーションまたはパスのボックスの内容を消去し、先にコピーしたパスをペーストします。 (C:\WINNT\Profiles\Administrator\Personal\Handheld_PC 同期ファイル) ここで、リモート・ユーザ user1 のデータベース・ファイルをこのパスに追加します。 (C:\WINNT\Profiles\Administrator\Personal\Handheld_PC 同期ファイル\user1.db) これは、user1.db のロケーションの最終的なパスになります。 注意:二重引用符は削除してください。残っている場合は、” this file already exists” というエラーが発生します。 [ログ・ファイル名] はそのままにしておきます。[次へ] をクリックします。
- Windows CE デバイスでのデータベース保存先ディレクトリを指定します。次のように入力します。 \My Documents\同期ファイル [次へ] をクリックします。 ASA がデスクトップと Windows CE デバイスの間に接続を確立しようとします。接続に成功したら、[次へ] をクリックして 次の画面に進みます。他のすべての画面では、デフォルト設定のまま [次へ] をクリックします。The unload doesn’t exist というエラーが発生した場合は、[はい] を選択して ディレクトリを作成します。
- ASA がデータベースを作成し、Windows CE デバイスにコピーします。 これで、User1.db と User1.log の 2 つのファイルが Windows CE デバイスにコピーされました。 My Documents と同期ファイルを CE デバイスでクリックして確認します。
- Windows CE で新しいフォルダを作成します。
- \My Documents をダブルクリックします。
- [ファイル] メニューから新規フォルダを選択します。
- フォルダ名を Rep に設定します。
- User1.db と User1.log を同期ファイルフォルダから新しい Rep フォルダに移動します。
- 同期ファイルには cons フォルダ(\My Documents\同期ファイル\cons)と remote1 フォルダだけが含まれています。
注意:データベース・ファイルとログ・ファイルは、同期ファイルフォルダに残しておかないようにお勧めします。残しておくと、データベース・ファイルとログ・ファイルを変更するごとに、ActiveSync はデータベース全体を同期します。これは CE では非常に負荷の大きな処理です。
デスクトップ・マシンでの DBRemote のショートカットの設定
デスクトップ・マシンの右下にある赤色のアイコンを右クリックして [終了] を選択し、Adaptive Server Anywhere を終了します。Sybase Central を閉じます。
1.ショートカットをデスクトップに新規作成します。ショートカット名を dbremoteCons に変更します。
2. ショートカットのアイコンを右クリックし、[プロパティ] を選択します。
3. [ショートカット] タブを選択します。
4. リンク先(Target)の内容を消去します。
5. リンク先(Target)に “C:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32\dbremote.exe” -c “uid=dba;pwd=sql;dbf=c:\program files\sybase\Adaptive Server Anywhere 6.0\asademo.db” という行を追加します。
6. [作業フォルダ(Start In)] ボックスの内容を消去し、
C:\WINNT\Profiles\Administrator\Personal\Handheld_PC Synchronized Files\ と入力します。
注意:この例では、Adaptive Server Anywhere (SQL Anywhere) は C ドライブにインストールされていますが、D や E など別のドライブにインストールされている場合もあります。その場合は、 上記のパスの C をそのドライブに置き換えます。
注意:Handheld_PC 同期ファイルは、Handheld_PC1 同期ファイル または ユーザ名 同期ファイルという名前になっている場合があります。ハンドヘルド・デバイスでのフォルダ名を確認してください。
7. [適用] をクリックし、[OK] をクリックします。
8. デスクトップにある DBRemote のショートカットをダブルクリックします。
これで、統合データベースに関する手順はすべて終了しました。次に、Windows CE デバイスをチェックします。
Windows CE での DBRemote のショートカットの設定
1. dbremote のショートカットを Windows CE のデスクトップに作成します。
作成手順は、次のとおりです。
a) [スタート] – [プログラム] – [エクスプローラ] – [Program Files] – [Sybase] – [ASA] を選択します。
b) dbremote をクリックして強調表示します。
c) エクスプローラで [編集] – [コピー] を選択します。
d) エクスプローラを閉じます。
e) [ALT] キーを押しながら、Windows CE デスクトップの空白部分をペンでタップします。[ショートカットの貼り付け] を選択します (注意:ショートカットが表示されない場合は、a)から再設定してください)。
f) dbremote ショートカットを強調表示し、ショートカットをペンで 1 回タップし、[ALT] キーを押したままショートカットをもう一度タップします。 [プロパティ] を選択します。
g) [ショートカット] タブをクリックします。”\Program Files\Sybase\ASA\dbremote.exe” と表示されます。
h) これに続けて、
-c “uid=dba;pwd=sql; dbf=\My Documents\Rep\user1.db;start=\Program Files\Sybase\ASA\dbsrv6.exe” を追加します。
i) 最終的には、
“\Program Files\Sybase\ASA\dbremote.exe” -c “uid=dba;pwd=sql;dbf=\My Documents\Rep\user1.db;start=\Program Files\Sybase\ASA\dbsrv6.exe” と表示されます。
j) [OK] をクリックします。
(注意:dbremote を Windows CE で実行する場合は、dbsrv6.exe などの実際の実行可能ファイルの場所を正確に指定する必要があります。Windows CE には、パスや環境変数がありません。StartLine 接続パラメータを指定しないで dbremote を実行すると、”SQL文が失敗しました: (-80) データベース・サーバを起動することができません。” というエラーが表示されます。)
これで、準備は完了です。
2. デスクトップのフォルダを同期してから、手順を進めてください。同期するには、ActiveSync を Desktop マシンで実行している必要があります。ActiveSync をダブルクリックし、[ファイル] メニューから [同期] を選択します。
注意:’同期ファイル’ に保存または変更したデータは、すべて自動的に同期されます。したがって、すべてのメッセージはリモート・ユーザに送信され、自動的にハンドヘルド・デバイスにコピーされます (その逆も同様です)。
3. Windows CE デバイスで、先に作成した DBRemote のショートカットをダブルクリックします。
4. これで、両方向にメッセージが同期されます。