このレッスンでは、Mobile Link サーバを起動します。
ここまでに、ダウンロード・カーソル・スクリプトを変更して、1 人の販売担当者に関する情報をダウンロードしています。このレッスンでは、リモート ID を販売担当者識別子に設定して、販売担当者を指定します。
デフォルトでは、Mobile Link は、アップロードとダウンロードに対してスナップショット・アイソレーション/READ COMMITTED 独立性レベルを使用します。Mobile Link サーバがスナップショット・アイソレーションを最大限有効に利用できるようにするには、Mobile Link サーバが使用する Oracle アカウントは、Oracle システム・ビュー V_$TRANSACTION にアクセスできる必要があります。アクセスできない場合には、警告が表示され、ローはダウンロードで失われることがあります。
SYSDBA 権限を持つ SYS ユーザとして、Oracle SQL Plus アプリケーションを使用して接続します。コマンド・プロンプトで次のコマンドを実行します。
sqlplus SYS/your password for sys as SYSDBA |
Oracle システム・ビュー V_$TRANSACTION へのアクセスを許可するには、次のコマンドを実行します。
GRANT SELECT ON SYS.V_$TRANSACTION TO OE; |
Oracle システム・ビュー V_$SESSION へのアクセスを許可するには、次のコマンドを実行します。
GRANT SELECT ON SYS.V_$SESSION TO OE; |
コマンド・プロンプトで、同期モデルを作成したディレクトリに移動します。(このフォルダは、同期モデル作成ウィザードの最初の手順で選択したルート・ディレクトリです。)
デフォルトのディレクトリ名を使用している場合、ルート・ディレクトリには sync_oracle\mlsrv ディレクトリがあります。
mlsrv ディレクトリから次のコマンドを実行します。
sync_oracle_mlsrv.bat "DSN=oracle_cons;UID=OE;PWD=sql;" |
sync_oracle_mlsrv.bat Mobile Link サーバを起動するために作成されたコマンド・ファイル。
DSN ODBC データソース名。
UID 統合データベースへの接続に使用するユーザ名。
PWD 統合データベースへの接続に使用するパスワード。
このコマンドが正常に実行されると、Mobile Link サーバ・メッセージ・ウィンドウに MobiLink Server Started
というメッセージが表示されます。
Mobile Link サーバが起動しなかった場合は、統合データベースの接続情報を確認します。
コマンド・プロンプトで、同期モデル展開ウィザードによりリモート・データベースを作成したディレクトリに移動します。
デフォルトのディレクトリ名を使用している場合、ルート・ディレクトリには sync_oracle\remote ディレクトリがあります。
次のコマンドを実行して、SQL Anywhere データベースを起動します。
dbeng11 -n remote_eng sync_oracle_remote.db -n remote_db |
dbeng11 SQL Anywhere データベースの起動に使用するデータベース・サーバ。
remote_eng データベース・サーバ名。
sync_oracle_remote.db remote_eng で起動するデータベース・ファイル。
remote_db remote_eng にあるデータベースの名前。
このコマンドが正常に実行されると、remote_eng という名前の SQL Anywhere データベース・サーバが起動し、remote_db という名前のデータベースがロードされます。
リモート・スキーマでは、各リモート・データベースは 1 人の販売担当者を表しています。作成した同期スクリプトに含まれている論理により、Mobile Link サーバはリモート・データベースのリモート ID に基づいてデータのサブセットをダウンロードします。データベースのリモート ID は有効な販売担当者識別子の値に設定する必要があります。
リモート・デバイスが最初に同期する際に、選択された販売担当者に関するすべての情報がダウンロードされるため、この手順は最初の同期の前に完了している必要があります。
有効な販売担当者識別子を選択します。
SYSDBA 権限を持つ SYS ユーザとして、Oracle SQL Plus アプリケーションを使用して接続します。コマンド・プロンプトで次のコマンドを実行します。
sqlplus SYS/your password for sys as SYSDBA |
ORDERS テーブルで有効な販売担当者識別子のリストを表示するには、次の文を実行します。
SELECT COUNT( SALES_REP_ID ), SALES_REP_ID FROM OE.ORDERS GROUP BY SALES_REP_ID; |
この例では、リモート・データベースは SALES_REP_ID が 154 である販売担当者を表しています。
Oracle を終了するには、次のコマンドを実行します。
exit |
データベースのリモート ID の値を 154 に設定するには、次のコマンドを実行します。
dbisql -c "ENG=remote_eng;DBN=remote_db;UID=DBA;PWD=sql" "SET OPTION PUBLIC.ml_remote_id='154'" |
dbisql SQL Anywhere データベースに対して SQL コマンドを実行するためのアプリケーション。
ENG データベース・サーバ名として remote_eng を指定します。
DBN データベース名として remote_db を指定します。
UID リモート・データベースへの接続に使用するユーザ名。
PWD リモート・データベースへの接続に使用するパスワード。
SET OPTION PUBLIC.ml_remote_id='154' リモート ID を 154 に設定するための SQL コマンド。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |