Sync Framework を使用して、モバイル、デスクトップ、および Web サーバーのデータベースを同期できますか?

StackOverflow https://stackoverflow.com/questions/768888

質問

Sync Framework v1 (Sync Services for ADO.NET v2 を含む) と Sync Services for mobile v1 を使用しています。

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

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 や手作りの更新ステートメントなど) で可能なのでしょうか、それとも何か明白な点を見落としているのでしょうか?

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

役に立ちましたか?

解決

私は、ライブアプリケーションのための同じ基本的なセットアップを使用していますが、それはかなりうまく機能しています。私は、Webサービスを使用してサーバとモバイルデバイスの同期を持っている(WCFでも大丈夫だと思う)、私は多少の同期デスクトップアプリ<のhref = "http://msdn.microsoft.com/en-us/sync/bb887608を持っています。このとすべてのもののようなASPX」のrel = "nofollowをnoreferrerは">本当にスムーズに動作します。

一般的には、あなたがより多くの状態を管理しなければならず、一般的なツールとガイドは非常にあなたを助けにはなりませんので、サーバーと同期サーバとクライアントの同期を持っている悪いアイデアだろう。

あなた自身SQLの管理のエキスパートを検討していない限り、あなたが1でない場合は、今あなたがを時間ずつとなりますので、

私はまた、SQLマージレプリケーションを使用しないことを感じ、それを使用しての安全をお勧めします。

あなたがあなた自身のSync Frameworkのプロバイダを作成するには時間と労力を費やすことを喜んでいる場合は、

注意点として、あなたはあなたが行うことができない少しがあるでしょう。

他のヒント

私は「意図」のパターンは、デスクトップ上のSQL Expressを使用して、サーバーにマージレプリケーションを使用することであろうと仮定します。

私はあなたが同期フレームワークの「サーバ」エンドとしてデスクトップにSQLCEを使用できることを期待しないでください。とりわけ、SQLCEは、単一のユーザーであり、それはSyncAgentのために行うことはありません。それはあなたの状況で実行可能に思えるかもしれないとしても。

何働くかもしれないことは、サーバーとあまりにサーバとデスクトップとモバイルの同期を持つことです。しかし、私はあなたの接続の問題を解決しないと余計なPC上でコピーを行うことができることを実現します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top