このレッスンでは、統合データベースからリモートデータベースを抽出して、リモートユーザー用のデータベースを作成します。
メッセージの送受信を行い SQL Remote システムに組み込まれるように、リモートデータベースを設定する必要があります。統合データベース (hq) と同様に、出力メッセージのソースを識別するためにリモートデータベースには CURRENT PUBLISHER が必要です。また、サブスクライバーとして識別された統合データベース (hq) も必要です。
dbxtract ユーティリティを実行して、以下を含むリモートデータベースを作成します。
統合データベースに対するサブスクリプション
パブリケーション
データの現在のコピー
c:\tutorialディレクトリから次のコマンドを実行して、統合データベース (hq) からユーザー field_user のリモートデータベースのスキーマを抽出します。
dbxtract -v -c "UID=DBA;PWD=sql;SERVER=server_hq;DBF=C:\tutorial\hq.db" c:\tutorial field_user |
このコマンドは以下を実行します。
現在のディレクトリに、reload.sql という名前の SQL スクリプトファイルを作成します。reload.sql ファイルには、新しいデータベースにロードするためのスキーマと命令が含まれています。
c:\tutorial ディレクトリにデータファイルを作成します。
リモートユーザーに対するサブスクリプションを開始します。
c:\tutorial ディレクトリから次のコマンドを実行して、リモートデータベースを作成します (field)。
dbinit field.db |
運用環境では、同じディレクトリに 2 つのレプリケートデータベースを格納しないでください。
データベース情報をリモートデータベース (field) にロードします。
DBA 権限を持つユーザーとして、Interactive SQL からリモートデータベース (field) に接続します。
dbisql -c "UID=DBA;PWD=sql;SERVER=server_field;DBF=c:\tutorial\field.db" |
次の文を実行して、reload.sql ファイルを読み込みます。
READ C:\tutorial\reload.sql; |
reload.sql スクリプトファイルは以下を実行します。
リモートデータベースでメッセージタイプを作成します。
リモートデータベース (field) に PUBLISH パーミッションを付与します。
リモートデータベース (field) に SalesReps テーブルと Customers テーブルを作成します。これらのテーブルは、統合データベース (hq) 中のデータと同じデータを含みます。
レプリケートするデータを示すパブリケーションを作成する。
統合データベース (hq) 用のサブスクリプションを作成し、開始する。
次の文を実行して、テーブルが作成されたことを確認します。
SELECT * FROM SalesReps; |
上記のクエリは、SalesRep テーブルから次のデータを返します。
rep_key | name |
---|---|
rep1 | Field User |
rep2 | Another User |
SELECT * FROM Customers; |
上記のクエリは、Customers テーブルから次のデータを返します。
cust_key | name | rep_key |
---|---|---|
cust1 | Ocean Sports | rep1 |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |