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

 

Microsoft SQL Server 統合データベース

Microsoft SQL Server を統合データベースとして設定する
注意

設定スクリプトを実行するデータベース・ユーザは、テーブル、トリガ、ストアド・プロシージャを作成できる必要があるため、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 サーバのシステム・テーブルを参照してください。

ODBC ドライバ

SQL Server データベースで提供されている ODBC ドライバを使用して、SQL Server 統合データベース用の ODBC DSN を設定してください。次の項を参照してください。

SQL Server の問題
  • 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 独立性レベルを参照してください。