Mobile Link サーバでは、MySQL Community サーバと Enterprise サーバ 5.1.3 以降がサポートされています。
設定スクリプトを実行する前に、次の要件を確認してください。
設定スクリプトを実行するデータベースユーザは、同期中に Mobile Link システムテーブルを更新するユーザと同じである必要があります。このユーザを使用して Mobile Link サーバを起動したり、Mobile Link アプリケーションを設定したりします。 必要な権限を参照してください。
Mobile Link サーバを統合データベースに接続するために使用される RDBMS ユーザは、Mobile Link システムテーブル、プロシージャなどを修飾子なしで使用できる必要があります (SELECT * from ml_user など)。 Mobile Link サーバのシステムテーブルを参照してください。
Mobile Link サーバでは、デフォルトのストレージエンジンが ACID に準拠していることを必要としています。デフォルトのストレージエンジンが ACID に準拠していない場合は、Mobile Link サーバのすべてのテーブルが、InnoDB、Falcon など、ACID 準拠のストレージエンジンを使用して作成されていることを確認してください。その確認を行わないと、データの不整合が発生する場合があります。
必要な場合は、MySQL データベースに対してファイルを適用する前に、syncmys.sql スクリプトファイルを編集して次の 2 つの行を行 delimiter // の後に追加します。ここで、engine_name は ACID 準拠の記憶エンジンです。
set storage_engine = [engine_name] // |
MySQL を Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システムテーブル、ストアドプロシージャ、トリガ、ビューを追加する必要があります。
前提条件
MySQL ユーザ ID には、テーブル、プロシージャ、ファンクション、ビュー、トリガを作成する権限が必要です。
内容と備考
Sybase Central 用の Mobile Link 16 プラグインを使用して、MySQL を統合データベースとして設定することもできます。
MySQL コマンドラインツールまたは MySQL Query Browser を使用して、%SQLANY16%\MobiLink\setup にある syncmys.sql 設定スクリプトを実行します。
結果
MySQL データベースは、Mobile Link 統合データベースとして使用できます。
MySQL を Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システムテーブル、ストアドプロシージャ、トリガ、ビューを追加する必要があります。
前提条件
MySQL ユーザ ID には、テーブル、プロシージャ、ファンクション、ビュー、トリガを作成する権限が必要です。
内容と備考
syncmys.sql 設定スクリプトを使用して、MySQL を統合データベースとして設定することもできます。
Sybase Central の Mobile Link 16 プラグインで、[表示] » [フォルダ] を選択します。
Mobile Link プロジェクトを開き、[統合データベース] を展開します。
データベース名を右クリックし、[Mobile Link システム設定のチェック] をクリックします。データベースの設定が必要な場合は、続行のプロンプトが表示されます。
既存の Mobile Link システム設定を使用する場合、default_schema を Mobile Link システム設定のスキーマにしてください。
結果
MySQL データベースは、Mobile Link 統合データベースとして使用できます。
MySQL Web サイトで提供されている ODBC ドライバを使用して、MySQL 統合データベース用の ODBC DSN を設定してください。Mobile Link サーバは、MySQL ODBC ドライバ 5.1.3 以降をサポートしています。次の項を参照してください。
UINIX で ODBC 設定ファイルを指定するには、次のいずれかを行います。
データ型マッピング カラムの型は、統合データベースとリモートデータベース間で完全に一致する必要があります。 詳細については、MySQL データのマッピングを参照してください。
ストアドプロシージャ ストアドプロシージャコールでは、INOUT パラメータおよび OUT パラメータを使用することはできません。これらのパラメータが必要なプロシージャは、OUT 値を返す関数として実装してください。
authenticate_user、modify_user などの INOUT パラメータが必要なサーバイベントは、関数として実装し、CALL 文ではなく SELECT 文を使用して実行してください。
名前付きパラメータ ユーザ定義の名前付きパラメータは、サポートされていません。
カーソルスクリプト イベント upload_fetch、download_cursor、download_delete_cursor は、SELECT 文を使用して呼び出してください。SELECT 文は、Mobile Link サーバによって、コミットされた読み出し独立性レベルを使用して実行されます。MySQL ODBC ドライバのバグによって、INSERT 文、UPDATE 文、DELETE 文など、コミットされない読み出し操作がサーバで発生し、統合データベースとリモートデータベースの間でデータの一貫性が失われます。
この問題を回避するには、SELECT 文に LOCK IN SHARE MODE 句を追加します。次に例を示します。
SELECT column1 FROM table1 WHERE id > 0 LOCK IN SHARE MODE |
この句は、コミットされない操作から SELECT 文を保護します。
バルクアップロード MySQL ODBC ドライバでは、現在、バルクアップロードが正しくサポートされていません。
MLSD MySQL ODBC ドライバでは、現在、MSDTC がサポートされていないため、別の MLSD はサポートされていません。
MySQL サーバの設定 Mobile Link 同期スクリプトは、ml_script テーブルに TEXT として格納され、必要に応じて取得されます。my.ini ファイルの max_allowed_packet は、16m 以上に設定することが必要な場合があります。
競合検出 MySQL 統合データベースで競合検出用に生成されたスクリプトには、複数の文があります。競合検出を使用している場合は、Mobile Link サーバが MySQL データベースへの接続を作成するための DSN を設定するときに、[MySQL Connector/ODBC Data Source Configuration] ウィンドウの [Flags 3] ページで [Allow Multiple Statements] チェックボックスをオンにする必要があります。
複数の文 いずれかの同期スクリプトに、セミコロンで区切られた、バッチによる SQL コマンドが含まれている場合は、Mobile Link サーバが MySQL データベースへの接続を作成するための DSN を設定するときに、[MySQL Connector/ODBC Data Source Configuration] ウィンドウの [Flags 3] ページで [Allow Multiple Statements] チェックボックスをオンにすることが必要な場合があります。
Mobile Link 独立性レベルを参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |