2 つのデータベース間でデータを同期する方法に関するアドバイスや提案を探しています。
最初のデータベースは、切断されたラップトップ (ネットワークまたはインターネット アクセスなし) で実行される SQL Server 2008 Express です。2 番目のデータベース (メイン) は、サーバー上で実行される VFP 9.0 です。
ユーザーがラップトップをネットワークに接続すると、同期プロセスが実行されます。
さまざまなデータベース エンジン以外に、考慮すべき次の項目があります。
- テーブルは必ずしも同じ構造である必要はありません
- 主キーが同じではありません (SQL Server の GUID と、多くの場合、VFP の文字フィールドの組み合わせ)
- 親子関係を尊重するために、テーブルの同期は特定の順序で行う必要があります
- SQL Server 側の一部の挿入では、VFP テーブルで新しい主キーを生成して同期する必要があります
- 一連の検証を行う必要があり、ユーザーからのフィードバックが必要になる場合があります
- すべてのレコードを同期する必要はない
- 同期後に SQL Server の一部のレコードを削除する必要があります
- 両側から削除されたレコードを考慮する必要があります
- VFP データベースで最小限の変更を行う必要があります
他にも忘れている点があるかもしれませんが、私が直面している課題については理解していただけると思います。現時点では、カスタム同期モジュールを構築する必要があると思いますが、いくつかのオプションを見落とした場合に備えて、先に進む前にあなたの意見を求め、これにアプローチする方法についていくつかのヒントを得ることができます.
私は Microsoft Sync Framework をすばやく調べましたが、私が持っているすべての制限と、まだ構築されている VFP クライアントがないという事実 (AFAIK) を考えると、それが大きな助けになるとは思いません。
フィードバックをお寄せいただきありがとうございます。
更新: ラップトップ アプリケーションは C# WinForm アプリケーションであり、SQL Server 2008 Express を使用しています。