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 統合データベース

 

Oracle 統合データベース

Oracle を統合データベースとして設定する

Oracle を Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システム・テーブル、ストアド・プロシージャ、トリガ、ビューを追加する必要があります。次のような方法で実行できます。

  • install-dir\MobiLink\setup にある syncora.sql 設定スクリプトを実行します。

  • Sybase Central の Mobile Link プラグインで、[モード] - [管理] を選択し、サーバ・データベースに接続します。データベース名を右クリックし、[Mobile Link システム設定のチェック] を選択します。データベースの設定が必要な場合は、続行のプロンプトが表示されます。既存の Mobile Link システム設定へのエイリアスを設定している場合は、Mobile Link システム設定があるスキーマのユーザとして接続してください。

  • 同期モデル作成ウィザードまたは同期モデル展開ウィザードを使用する場合は、サーバ・データベースに接続するとシステム設定がチェックされます。データベースの設定が必要な場合は、続行のプロンプトが表示されます。

注意

設定スクリプトを実行するデータベース・ユーザは、Mobile Link システム・テーブルを更新するパーミッションを持つ唯一のユーザです。Mobile Link アプリケーションを設定するには、このパーミッションが必要です。必要なパーミッションを参照してください。

Mobile Link サーバを統合データベースに接続するために使用される RDBMS ユーザは、Mobile Link システム・テーブル、プロシージャなどを修飾子なしで使用できる必要があります (SELECT * from ml_user など)。Mobile Link サーバのシステム・テーブルを参照してください。

ODBC ドライバ

Oracle 統合データベースには、ODBC DSN を設定する必要があります。次の項を参照してください。

Oracle の問題
  • ストアド・プロシージャ   Oracle でストアド・プロシージャを使用している場合は、Oracle ODBC ドライバに対して [プロシージャは結果を返す] オプションを選択してください。

    iAnywhere Solutions Oracle ドライバを参照してください。

  • セッション全体の変数   Oracle ではセッション全体の変数は提供されていません。セッション全体の情報を保持するには、Oracle パッケージ内の変数を使用します。Oracle パッケージでは、変数の作成、修正、破棄が可能です。これらの変数は Oracle パッケージが現在のパッケージであるかぎり有効です。

  • オートインクリメント・メソッド   プライマリ・キーの一意性を維持するには、Oracle シーケンスを使用して、オートインクリメント・フィールドのキーのリストに似た、キーのリストを生成します。CustDB サンプル・データベースの Samples\MobiLink\CustDB\custora.sql に、サンプル・コーディングが用意されています。ただし、オートインクリメントとは異なり、シーケンスを明示的に参照する必要があります。オートインクリメントは、INSERT 文でカラムが参照されていない場合は、自動的にカラム値を挿入します。

  • Oracle では空の文字列をサポートしていない   Oracle では、空の文字列は NULL として処理されます。SQL Anywhere と Ultra Light では、空の文字列は NULL とは異なる意味を持ちます。したがって、Oracle 統合データベースがある場合には、クライアント・データベースで空の文字列を使用しないようにしてください。

  • CHAR カラム   Oracle では、CHAR データ型は固定長で、文字列の長さに合わせてブランクが埋め込まれています。Mobile Link リモート・データベース (SQL Anywhere または Ultra Light) では、CHAR は VARCHAR と同じで、固定幅に合わせて値にブランクが埋め込まれることはありません。統合データベースで CHAR の代わりに VARCHAR を使用することを強くおすすめします。CHAR を使用する必要がある場合は、mlsrv11 -b コマンド・ライン・オプションを使用すると、同期中に文字列から後続ブランクを削除できます。このオプションは、重複を検出するときに使用する文字列の比較にとって重要です。

    -b オプションを参照してください。

  • データ型マッピング   カラムのデータ型は、統合データベースとリモート・データベース間で完全に一致する必要があります。詳細については、Oracle データのマッピングを参照してください。

独立性レベル

Mobile Link 独立性レベルを参照してください。


Oracle varray の使用