2012-02-16 19 views
6

異なるAndroidデバイス上でホストされているSQL Liteデータベースと中央サーバ上にホストされているSQLサーバーデータベースを同期しようとしています。我々はクライアントの前提条件のためにWebサービスの使用を排除しました。別の方法がありますか?アンドロイドデバイス上のSQL LiteデータベースとSQL Serverデータベース間の同期

PS:WindowsサービスアプリケーションまたはWindowsプロセスアプリケーションをホストできるサーバーに、同期処理のためのデバイスを接続することができます。

おかげ

+0

データを同期する必要があるのはどちらですか? –

答えて

1

どのようにサーバーに接続しますか?「終日に」通常、このような状況で行うことは、できる限りデータを同期させたカスタムアプリをデバイスに書き込むことです。

これはさまざまな方法で実行できます。

最初に、Webサーバーに接続する機能があるかどうかを確認するためのサービスを記述します(たとえば、LAN接続を使用して優先度を設定して、あなたは同期したいと思っていました)、そのように同期を行います。

このサービスは、インテントによって制御される可能性があります。あなたはまた、同期を行うためにデバイス間で必要な移行を(USB経由で接続されていた場合)行ったコマンドを発行したスクリプトを書くこともできます。

私は、これについての最良の方法は、あなたのアプリで「同期」アクティビティを作成することだと思います。このアクティビティには、押したときにインターネットを介してリモートクライアントとの同期を開始するボタンがある可能性があります(これはあなたが持っていたと言いましたが、どのようにそれに接続するのですか?)。

+0

あなたのおかげで、答えはありがとう、あなたはadbの意味ですか、 –

+1

adbは座って通信するデーモンですあなたのアンドロイドデバイスで。それはアンドロイドのデバッグブリッジです。デバッグブリッジを介してコマンド(インテントを含む)を発行することができます。あなたは意図を聞くアプリを書いて、デバッグブリッジを使ってコンピュータからデバイスにインテントを送信することができます(USB経由で接続されている限り、理論的にはWi-Fiでも可能です) –

+0

これは最善の解決策のようです今、ありがとう:) –

1

チェックのMicrosoft Sync Frameworkのツールキットのthis implementation。 まだ準備ができているかどうかわかりません。

1

公開されたWebサービスは使用されていませんが、データを渡すためにデバイスに呼び出すことができるサーバーでは、いくつかのHTTPインターフェイス/メソッドを開く/実装することができます。あなたのデバイスからデータを取得し、そのアプリケーションはSQL Serverにコンテンツを渡して世話をします。

[デバイスをフックしている]という別の方法では、デバイスデータをWindowsサービス/フォームアプリケーションが消費するいくつかの合意された形式でファイルとして転送/エクスポートする必要があります。

+1

ええ、唯一の方法は、多くの仕事です、私は帯域幅を節約するために各テーブルの最後の変更/作成の列を使用します – max4ever

関連する問題