0

社員の個人情報を保存する、顧客(工場)向けのデスクトップアプリケーションを開発したい。このアプリケーションでは、アプリケーション ユーザーのレベルを定義します。つまり、1 人のユーザーが最上位 (親) であり、格納されているすべての個人データを表示でき、第 2 レベル (最初の子) がそのデータとその子のデータなどを表示できます。ツリー ビューとまったく同じで、各ノードはそのデータと子データを表示できます。つまり、親工場には子工場があり、子工場には子工場があります。

オンラインアプリケーションではこれを簡単に処理できますが、これはオフラインです。現在、彼らはアプリケーションに個人情報を入力しています (各ユーザーは異なる PC を持っています)。

これで、大きな問題が子 DB を親 DB にマージすることであることがわかりました。Ch3 と Ch4 は、DB を Ch1 に送信します。Ch5、Ch2 についても同じです。次に、Ch1 と Ch2 を親に送信します。データが重複している場合、または親がすべてのデータを持っているときに 1 人の子が 1 人の国別コード (一意のキー) を変更した場合、マージで既存のものを更新できず、マージで競合が発生し、多くの問題が発生します。

DB をマージするためのアイデア!?

ここに画像の説明を入力


私のデータベースについて少し。人事情報は、各行に 1 つの従業員工場があり、日付と退社日と人事コードを入力する、PersonnelFactory という名前の関連テーブルを持つメイン テーブルです。その工場での人のランク (仕事) の表。これは、問題を理解するための DB の小さな部分です。

4

1 に答える 1

0

できることは、サーバー側で中央データベースを作成することです。クライアント側では、クライアントはローカルで変更を行い、インターネットが利用できるときはいつでも、その変更をアップロードし、中央のサーバー データベースを介して他のユーザーが行った変更をダウンロードできます。

Microsoft Sync Framework をご覧ください。多くの複雑なマージ シナリオを自動的に処理します。クライアントでキーの重複を避けるための解決策はたくさんありますが、そのうちの 1 つはGUIDorを使用することuniqueidentifiesです。

ここにいくつかの有用なリソースがあります

同期フレームワーク データベース同期の概要

チュートリアル: SQL Server と SQL Express の同期

于 2013-08-03T07:22:49.890 に答える