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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - クライアント管理 » Mobile Link クライアントの紹介 » リモート・クライアントでのスキーマの変更

 

SQL Anywhere リモート・データベースのスキーマのアップグレード

SQL Anywhere リモート・データベースを配備した後に、そのスキーマを変更することができます。

注意

リモート・データベースに他の接続がないことが確実である場合は、ALTER PUBLICATION 文を手動で使用して、新規または変更したテーブルをパブリケーションに追加できます。それ以外の場合は、sp_hook_dbmlsync_schema_upgrade フックを使用して、スキーマをアップグレードしてください。

sp_hook_dbmlsync_schema_upgradeを参照してください。

♦  SQL Anywhere リモート・データベースにテーブルを追加するには、次の手順に従います。
  1. 関連するテーブル・スクリプトを統合データベースに追加します。

    新しいテーブルのないリモート・データベースと、新しいテーブルのあるリモート・データベースには、同じスクリプト・バージョンを使用できます。ただし、新しいテーブルが存在することによって既存のテーブルの同期方法が変更される場合は、新しいスクリプト・バージョンを作成し、そのスクリプト・バージョンで同期されるすべてのテーブルに対して新しいスクリプトを作成する必要があります。

  2. 通常の同期を実行します。同期処理が正常に実行されたことを確認してから、次の処理を続行してください。

  3. ALTER PUBLICATION 文を使用して、テーブルを追加します。次に例を示します。

    ALTER PUBLICATION your_pub
       ADD TABLE table_name;

    この文は、sp_hook_dbmlsync_schema_upgrade フックの内部で使用できます。sp_hook_dbmlsync_schema_upgradeを参照してください。

    詳細については、ALTER PUBLICATION 文 [Mobile Link] [SQL Remote]を参照してください。

  4. 同期を実行します。必要な場合は、新しいスクリプト・バージョンを使用します。

リモート・データベースのテーブル定義の変更

既存テーブルのカラムの数か型を変更する場合は、注意してください。Mobile Link クライアントが新しいスキーマで同期する場合、upload_update や download_cursor などのスクリプトが必要です。これらのスクリプトには、リモート・テーブルの全カラム用のパラメータがあります。古いリモート・データベースの場合は、元のカラムだけを保持するスクリプトが必要です。

♦  配備された SQL Anywhere リモート・データベースのパブリッシュ済みのテーブルを変更するには、次の手順に従います。
  1. 統合データベースで、新しいスクリプト・バージョンを作成します。

    詳細については、スクリプト・バージョンを参照してください。

  2. 新しいスクリプト・バージョンには、古いスクリプト・バージョンで同期された変更対象のテーブルを含むパブリケーションのすべてのテーブルに対してスクリプトを作成します。

  3. リモート・データベースで、古いスクリプト・バージョンを使用して通常の同期を実行します。同期処理が正常に実行されたことを確認してから、次の処理を続行してください。

  4. リモート・データベースで、ALTER PUBLICATION 文を使用して、テーブルをパブリケーションから一時的に削除します。次に例を示します。

    ALTER PUBLICATION your_pub
      DROP TABLE table_name; 

    詳細については、ALTER PUBLICATION 文 [Mobile Link] [SQL Remote]を参照してください。

    この文は、sp_hook_dbmlsync_schema_upgrade フックの内部で使用できます。sp_hook_dbmlsync_schema_upgradeを参照してください。

  5. リモート・データベースで、ALTER TABLE 文を使用してテーブルを変更します。

    詳細については、ALTER TABLE 文を参照してください。

  6. リモート・データベースで、ALTER PUBLICATION 文を使用して、テーブルをパブリケーションに戻します。

    詳細については、ALTER PUBLICATION 文 [Mobile Link] [SQL Remote]を参照してください。

    この文は、sp_hook_dbmlsync_schema_upgrade フックの内部で使用できます。sp_hook_dbmlsync_schema_upgradeを参照してください。

  7. 新しいスクリプト・バージョンを使用して同期します。