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 テクノロジの概要 » Mobile Link のモデル » Mobile Link のモデルの概要

 

Mobile Link の制限事項

同期モデル作成ウィザードモデル・モードを使用する場合の制限事項の一部を次に示します。

  • モデル以外で行われた変更の再展開はできない   モデルを展開し、その後モデル以外で変更を行うと、この変更はモデルに保存されません。モデルを開始ポイントとして使用して展開し、すべての変更をモデル以外で行う場合はこれで問題ありません。しかし、モデルを再展開する場合は、モデル・モードで変更を行い、変更の保存と再展開ができるようにする必要があります。

  • DB2 メインフレーム   Mobile Link モデルは、DB2 メインフレーム統合データベースでは動作しません。

  • Mobile Link システム・データベース   Mobile Link システム・データベースを使用することはできません。

  • 複数のアプリケーション   複数のパブリケーションを作成することはできません。モデルの展開後、CREATE PUBLICATION 文などの非モデル・メソッドを使用して、パブリケーションをさらに追加することはできます。ただし、この方法で追加したパブリケーションをリバース・エンジニアリングでモデルに戻すことはできません。

  • ビュー   ビュー テーブルのマッピングのために統合データベースのテーブルを選択する場合、ビューを選択することはできません。

  • 生成済みリモート・データベース   同期モデル作成ウィザードでリモート・スキーマを作成する場合、新しいリモート・データベースのカラムには統合データベースのカラムの外部キー、インデックス、デフォルト値は格納されません。Ultra Light データベースでは、NCHAR カラムと NVARCHAR カラムがサポートされません。そのため、これらのデータ型のカラムがある統合データベースのテーブルを使用して Ultra Light リモート・データベースの新しいリモート・スキーマを生成することはできません。展開の完了後、リモート・スキーマを作成または変更して、その後モデルのスキーマを変更することができます。

  • 計算カラム   計算カラムがある統合データベースのテーブルを同期する場合、テーブルにアップロードすることはできません。計算カラムがある同期モデルを展開すると、タイムスタンプベースのダウンロードに使用するトリガの作成に失敗する場合があります。カラムを同期対象から除外するか、テーブルをダウンロード専用に設定します (このとき、スナップショット・ダウンロードを使用するか、生成済み統合 SQL ファイルを編集して、計算カラムをトリガ定義から削除します)。

    計算カラムをコピーすると、新しいリモート・スキーマを展開して新しいリモート・データベースを作成する際に構文エラーが発生します。計算カラムを扱う際は、次のいずれかを行います。

    • 同期モデルを既存のリモート・データベースに展開する。

    • リモート・スキーマから計算カラムを除外する。計算カラムがある統合データベースのテーブルを同期する場合、テーブルにアップロードすることはできません。

    Microsoft SQL Server AdventureWorks サンプル・データベースには、計算カラムが含まれています。このデータベースを使用してモデルを作成する場合、カラムをダウンロード専用に設定するか、カラムを同期対象から除外します。

  • 論理削除   Mobile Link 同期モデルでの論理削除のサポートは、論理削除カラムが統合データベースのみにあり、リモート・データベースにはないことを前提としています。統合スキーマを新しいリモート・スキーマにコピーする場合、モデルの同期設定の論理削除カラムに対応するすべてのカラムを除外します。新しいモデルでは、デフォルトのカラム名が削除されます。

    論理削除カラム名をリモート・スキーマに追加するには、次の手順に従います。

    1. ウィザードで [論理削除を使用する] を選択します。

    2. 論理削除カラム名を変更し、統合データベースのどのカラム名とも一致しないようにします。

    3. ウィザードが完了したら、リモート・スキーマを更新し、デフォルトのテーブル選択を保持します。論理削除カラム名がスキーマ変更リストに表示され、リモート・スキーマに追加されます。

    注意

    リモートの論理削除カラムのカラム・マッピングを統合データベースの論理削除カラムに設定する必要があります。

配備に関する考慮事項
  • 長いオブジェクト名   配備時に作成されるデータベース・オブジェクトには、データベースでサポートされている長さより長い名前が割り当てられる場合があります (新しいオブジェクト名がベース・テーブル名にサフィックスを追加して作成されるため)。この場合、(データベースに直接ではなく) ファイルのみに配備し、生成された SQL ファイルを編集して、長すぎる名前をすべて置換します。

  • 新しいリモート・スキーマ   同期モデル作成ウィザードで新しいリモート・スキーマを作成する場合、新しいリモート・データベースのカラムには統合データベース内のカラムのインデックスは格納されません。外部キーとデフォルトのカラム値は新しいリモート・データベースにコピーされます。ただし、このサポートは ODBC ドライバによって返されるデータベースのメタ・データに依存しており、ドライバの問題が原因で構文エラーやその他のエラーが生じる可能性があります。たとえば、ドライバがレポートしたデフォルトのカラム値が、SQL Anywhere または Ultra Light リモート・データベースではデフォルト値の宣言に使用できないフォーマットだった場合、エラーが起こる可能性があります (展開時の構文エラーなど)。

    計算カラムをコピーすると、新しいリモート・スキーマを展開して新しいリモート・データベースを作成する際に構文エラーが発生します。計算カラムを扱う際は、次のいずれかを行います。

    • 同期モデルを既存のリモート・データベースに展開する。

    • リモート・スキーマから計算カラムを除外する。計算カラムがある統合データベースのテーブルを同期する場合、テーブルにアップロードすることはできません。

    Ultra Light データベースでは、NCHAR カラムと NVARCHAR カラムがサポートされません。そのため、これらのデータ型のカラムがある統合データベースのテーブルを使用して Ultra Light リモート・データベースの新しいリモート・スキーマを生成することはできません。

    展開の完了後、リモート・スキーマを作成または変更して、その後モデルのスキーマを変更することができます。

  • プロキシ・テーブル   テーブルを他のデータベースにプロキシする統合データベース・テーブルと同期することはできますが、タイムスタンプベースのダウンロードのために TIMESTAMP カラムを使用するには、ベース・テーブルとプロキシ・テーブルの両方に TIMESTAMP カラムを追加する必要があります。同期モデル展開ウィザードではカラムをプロキシ・テーブルやそのベース・テーブルに追加することはできません。そのため、ベース・テーブルとプロキシ・テーブルの両方に存在するカラムを使用するか、シャドー・テーブルまたはスナップショット・ダウンロードを使用する必要があります。

  • マテリアライズド・ビュー   タイムスタンプベースのダウンロードを使用していて、タイムスタンプ・カラムを統合テーブルに追加するように選択した場合は、テーブルに依存するマテリアライズド・ビューを無効にしてから展開を開始します。こうしないと、テーブルの変更時にエラーが発生する場合があります。SQL Anywhere 統合データベースでは、sa_dependent_views システム・プロシージャを使用して、テーブルに依存するマテリアライズド・ビューがあるかどうかを判別します。sa_dependent_views システム・プロシージャを参照してください。

その他の考慮事項
  • Oracle 統合データベースに基づくリモート・データベースの作成   Oracle 統合データベースに基づいて SQL Anywhere または Ultra Light リモート・データベースを作成する場合、統合データベースの DATE カラムを TIMESTAMP に変更することが必要になる場合があります。この処理を行わないと、秒未満の情報が更新時に失われます。

  • プロキシ・テーブル   トリガによって管理されているシャドウ・テーブルを使用している場合、このトリガとシャドウ・テーブルはベース・テーブルにある必要があります。ベース・テーブルのトリガは、ベース・テーブルに対してプロキシ・テーブルを定義しているデータベース内のシャドウ・テーブルを変更できません。