2012-03-16 8 views
0

Windows Mobileアプリケーションでデータベースとフラットファイルを使用する場合の長所と短所について質問があります。.NET Compact Framework - バックアップとしてのSQL Server Compactまたはフラットファイル

私たちは、Windows Mobile 6.5とC#/ .NET Compact Framework 3.5を使用して動作するモバイルアプリケーションを開発しています。

モバイルコンポーネントは、納品書を受け取るために在庫システムで使用されます。これらのデータは、Wi-Fi経由のWebサービスを使用してアプリケーションサーバーに送信されます。

ここで、バックアップ計画を実行する必要があります。これまでに同意したのは、モバイルがサーバーにデータを送信できず、ローカルに保存してから後で送信する必要があるときです。それは、モバイルを使用して送信することも、モバイルをドッキングすることも、USBを介してPCに接続してデータをプルすることも、PCはサーバーに送信することもできます。

私の質問:このシナリオで使用する方が良いですか? SQL Server Compactの展開またはフラットファイルへのデータの書き込み(xml、バイナリなど)

各方法の賛否両論については、技術面だけでなく開発関係する仕事。

ありがとうございます!

答えて

1

このシナリオと私の個人的な経験は、いくつかの非常に良い理由のためのウェブ サービスのSQL CE to do Merge Replication insteadを使用することです:あなたはデータベースに直接読み取り/書き込みおよびCEを聞かせているため、アプリケーションの開発が容易になり

  1. エンジンはマージを行います。 (LinqからSQLなど)
  2. サーバーまたはクライアントでマージの競合を手動で制御できます。これはすでに構築されているので、自分でビルドする必要はありません。
  3. CEデバイスのデータがすでにデータベースに格納されているため、バックアップは必要ありません。 (デバイス/ユーザが必要とするデータのみをデバイスに複製することができるという意味。)
  4. 必要に応じてデータをローカルにキャッシュすることができ、filtered by device or user

これは、より多くのSQLの知識を必要としていますが、それは確かな技術でありますそれはうまく動作し、書き直され、テストされ、デバッグされる必要はありません。

ウェブサービスを使用してロックされている場合、SQL CEを使用すると、私には過剰なもののようです。私は単純にデータベースの内容を複製し、ファイル(xml/json/binary)にトランザクションを書き込んだり、必要に応じてそれらを使用します(wi-fi範囲内のWebサービスに対して実行するか、ファイルをモバイルデバイスからローカルのPCまたはサーバーにプルし、それらのトランザクションを実行します)。

+0

こんにちはエリック、あなたの答えに感謝します。彼らはとても役に立ちます。 はい、私たちはかなりウェブサービスを使用してロックされています。モバイルはコンポーネント のうちの1つに過ぎず、同じサービスを使用する他のクライアントもあります。 私は、データベースを構築することはバックアップのためだけに残酷であると思われます。 しかし、提案していただきありがとうございます。私たちは、もう1つの今後のモバイルプロジェクトにSQL CEを使用することを検討します。 – codex10

+0

私はまだストアと転送のもののためのSQL CEを使用したいと思います。それはXMLのオーバーヘッドを増やすのではなく、データベースのインフラストラクチャをすべて将来の使用のためにプロジェクトに入れます。 – ctacke

関連する問題