設定スクリプトを実行するデータベース・ユーザは、テーブル、トリガ、ストアド・プロシージャを作成できる必要があるため、db_owner ロールを持っている必要があります。
Microsoft SQL Server を Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システム・テーブル、ストアド・プロシージャ、トリガ、ビューを追加する必要があります。次のような方法で実行できます。
install-dir\MobiLink\setup にある syncmss.sql 設定スクリプトを実行します。
まず、Sybase Central の Mobile Link プラグインで、[モード] - [管理] を選択します。次に、サーバ・データベースに接続し、データベース名を右クリックして、[Mobile Link システム設定のチェック] を選択します。データベースの設定が必要な場合は、続行のプロンプトが表示されます。既存の Mobile Link システム設定を使用する場合、default_schema を Mobile Link システム設定のスキーマにしてください。
同期モデル作成ウィザードまたは同期モデル展開ウィザードを使用する場合は、サーバ・データベースに接続するとシステム設定がチェックされます。データベースの設定が必要な場合は、続行のプロンプトが表示されます。
設定スクリプトを実行するデータベース・ユーザは、Mobile Link システム・テーブルを更新するパーミッションを持つ唯一のユーザです。Mobile Link アプリケーションを設定するには、このパーミッションが必要です。必要なパーミッションを参照してください。
Mobile Link サーバを統合データベースに接続するために使用される RDBMS ユーザは、Mobile Link システム・テーブル、プロシージャなどを修飾子なしで使用できる必要があります (SELECT * from ml_user など)。Mobile Link サーバのシステム・テーブルを参照してください。
SQL Server データベースで提供されている ODBC ドライバを使用して、SQL Server 統合データベース用の ODBC DSN を設定してください。次の項を参照してください。
SET NOCOUNT ON Microsoft SQL Server の場合には、すべてのストアド・プロシージャまたは ODBC を使用して実行される SQL バッチの最初の文として SET NOCOUNT ON を指定してください。このオプションがないと、ネットワーク・バッファでオーバフローが発生して、何も通知されずにデータが失われる可能性があります。これは SQL Server の既知の問題です。
プロシージャ・コール Microsoft SQL Server では、パラメータを持つプロシージャ・コールは、ODBC の構文を使用して記述する必要があります。
{ CALL procedure_name( {ml param1}, {ml param2}, ... ) } |
CHAR カラム Microsoft SQL Server では、CHAR データ型は固定長で、文字列の長さに合わせてブランクが埋め込まれています。Mobile Link リモート・データベース (SQL Anywhere または Ultra Light) では、CHAR は VARCHAR と同じで、固定幅に合わせて値にブランクが埋め込まれることはありません。統合データベースで CHAR の代わりに VARCHAR を使用することを強くおすすめします。CHAR を使用する必要がある場合は、mlsrv11 -b コマンド・ライン・オプションを使用すると、同期中に文字列から後続ブランクを削除できます。このオプションは、重複を検出するときに使用する文字列の比較にとって重要です。
-b オプションを参照してください。
データ型マッピング カラムのデータ型は、統合データベースとリモート・データベース間で完全に一致する必要があります。詳細については、Microsoft SQL Server データのマッピングを参照してください。
サンプル・データベースの問題 SQL Server AdventureWorks サンプル・データベースには、計算カラムが含まれています。計算カラムは同期できません。カラムをダウンロードのみに設定することと、カラムを同期から除外することは可能です。
upload_update スクリプトでの競合検出の実装 SQL Server の NOCOUNT オプションの動作は、Mobile Link サーバで、アップロード・スクリプトによって変更されたローの数を正確に評価できない場合があることを意味します。SQL Server で競合を検出するには、upload_update スクリプトにストアド・プロシージャを実装する方が安全です。
Mobile Link 独立性レベルを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |