Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Remote » チュートリアル:HTTP メッセージシステムを使用し、Relay Server を経由して統合データベースをメッセージサーバとしたレプリケーションシステムの設定

 

レッスン 3:メッセージサーバとして動作する統合データベースの設定

HTTP メッセージシステム用メッセージサーバとして動作する統合データベースを設定します。

前提条件

SYS_REPLICATION_ADMIN_ROLE システムロールが必要です。

内容と備考

メッセージサーバとして動作する別のデータベースとデータベースサーバを設定することも可能です。

 ♦ タスク
  1. Interactive SQL を使用して、SYS_REPLICATION_ADMIN_ROLE システムロールを持つユーザとして接続します。

    dbisql -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql"
  2. データベースが最初に初期化されたとき、リモートユーザからの HTTP 要求を受け付けるのに必要な Web サービスはどれも定義されておらず、メッセージファイルが格納されているディレクトリにデータベースサーバがアクセスするのを許可する定義はありません。これらのオブジェクトの作成は、誰がすべてのオブジェクトを所有するのかを指定するオプションのパラメータを持つ sr_add_message_server ストアドプロシージャの使用により自動化されています。統合データベース (cons) に次の文を実行して、メッセージサーバに必要なすべてのオブジェクトを定義して、すべてのオブジェクトが cons ユーザによって所有されていることを指定します。

    CREATE ROLE FOR USER cons;
    SET REMOTE http OPTION cons.root_directory='c:\\tutorial\\messages';
    CALL sr_add_message_server( 'cons' );
    COMMIT;
  3. Relay Server が HTTP 要求をバックエンドの SQL Anywhere サーバに転送する場合には追加設定が必要となります。いくつかのノードが読み込み専用、いくつかのノードが読み込み/書き込みノードとして定義されているバックエンドの SQL Anywhere サーバのために、高可用性環境を設定することが可能です。このチュートリアルでは、システムに 1 つのデータベースサーバしかないため、このデータベースは読み込み/書き込みノードとして定義する必要があります。統合データベース (cons) で次の文を実行し、Relay Server がこのデータベースサーバを読み込み/書き込みノードとして認識するよう必要なオブジェクトをすべて定義します。



    CREATE PROCEDURE sp_oe_read_status()
    RESULT (doc LONG VARCHAR)
    BEGIN
    DECLARE res LONG VARCHAR;
    SET res='AVAILABLE=TRUE';
    CALL sa_set_http_header('Content-Length', LENGTH(res) );
    SELECT res;
    END;
    GO
    	
    CREATE SERVICE oe_read_status
    TYPE 'raw'
    AUTHORIZATION OFF
    SECURE OFF
    USER DBA
    AS CALL sp_oe_read_status();
    GO
  4. Interactive SQL との接続を切断します。

  5. Outbound Enabler は、Relay Server とバックエンドの SQL Anywhere データベースの間のチャネルとして動作します。machine_cons コンピュータ上で、次のコマンドラインにより Relay Server Outbound Enabler (RSOE) を起動します。

    rsoe -cr "host=machine_iis;port=80;url_suffix=/rs/server/rs_server.dll" 
    -cs "host=machine_cons;port=8033;status_url=/oe_read_status"
    -f srhttp_tutorial_farm -id srhttp_tutorial_server -v 5 -o rsoe.log
    

結果

統合データベースが HTTP メッセージシステム用メッセージサーバとして動作するように設定されます。