4

私は同期フレームワーク v1 (ADO.NET v2 用の同期サービスを含む) とモバイル v1 用の同期サービスを使用しています。

モバイル デバイスからデスクトップ PC の SQL Express に SQL Compact Edition データベースを同期できます。

WCF を使用して、デスクトップ PC から Web サーバー上の SQL Server データベースに SQL CE データベースを同期することもできます。

ドッキング時にモバイル デバイスからデスクトップに同期し、デスクトップ PC を Web サーバーと同期させたいと考えています (デスクトップ マシン上のコピーは、Web 接続が不安定な場合に備えています)。

理想的には、モバイルとデスクトップのセットアップをできるだけシンプルにしたいので、とにかく SQL Express を避けたいと思います。

残念ながら、これらの部品を組み合わせて必要な接続を作成する方法はないようです。理由は次のとおりです。

  1. モバイル デバイスは PC 上の SQL Express に同期しますが、SQL Express から SQL サーバーに同期できません。
  2. SQL サーバーへの同期は SQL CE から行う必要があり、モバイル デバイスをデスクトップ上の SQL CE に同期できません。

これは不可能ですか、大量のコード (カスタム SyncProviders や手作りの update ステートメントなど) では可能ですか?

御時間ありがとうございます!マーク。

4

2 に答える 2

2

私はライブ アプリケーションに同じ基本設定を使用しており、かなりうまく機能しています。Web サービスを使用してモバイル デバイスをサーバーと同期させ (WCF も問題ありません)、デスクトップ アプリをこのように同期させると、すべてが非常にスムーズに動作します。

一般に、サーバーと同期するサーバーとクライアントを同期させるのは悪い考えです。これは、より多くの状態を管理する必要があり、一般的なツールとガイドがあまり役に立たないためです。

また、自分が SQL 管理の専門家であると考えない限り、SQL マージ レプリケーションを使用しないことをお勧めします

注意として、独自の Sync Framework プロバイダーを作成することに時間と労力を費やす意思がある場合、できないことはほとんどないことがわかります。

于 2009-04-20T16:21:05.383 に答える
1

「意図した」パターンは、デスクトップで SQl Express を使用し、サーバーへのマージ レプリケーションを使用することだと思います。

デスクトップでSqlCeをSyncフレームワークの「サーバー」エンドとして使用できるとは思いません。とりわけ、SqlCe はシングル ユーザーであり、SyncAgent には適していません。あなたの状況で実行可能に見えるかもしれませんが。

モバイルをサーバーと同期させ、デスクトップもサーバーと同期させるとうまくいくかもしれません。しかし、それでは接続の問題が解決されず、PC 上のコピーが不要になる可能性があることを認識しています。

于 2009-04-20T16:04:55.110 に答える