0

Microsoft 同期フレームワーク:

変更追跡オプション付きの Sql CE および SQL 2008。

SQL CE に挿入されたレコードがあり、アップロードのみの方向で SQL 2008 にアップロードする必要がある場合、問題に直面しています。サーバー同期プロセスは clientInsertServerInsert 競合を引き起こし、サーバーがこのテーブルに新しい行を追加することは不可能です。

誰でもアイデアがあります。

私が気付いたもう 1 つのことは、VS.NET のデザインタイム同期 UI (クライアントデータベースで必要なテーブルを選択する場所) によって作成されたSQL サーバーデータベースを使用すると、問題が発生しないことです。しかし、空白のSQL Server データベースを使用してアプリケーションを配布すると、クライアントに挿入された行ごとにエラーがスローされます。

クライアント データベース (SqlCE) に変更を加えると、変更がアップロードされ、新しい行が挿入されると競合 ClientInsertServerInsert で ApplyChangeFailed イベントが発生します。たとえば、テーブルの本 (名前、数量) があり、クライアントにレコードを挿入すると、このテーブルの方向を UploadOnly に構成しましたが、サーバーに正常に送信されますが、「ClientInsertServerInsert」という競合が発生しました。つまり、サーバーも同じ値を挿入することは不可能です。また、すべての変更で競合が発生すると、プロセスが遅くなり、問題が発生する可能性があります。この行を使用して続行します.e.Action = ApplyAction.Continue;

4

1 に答える 1

0

ここでさらに情報が必要です。SQL サーバーからの実際のエラーは何ですか? アップロードされたレコードは、サーバー上のレコードを入力するのに十分ですか? たとえば、サーバーの行には、クライアントから自動的に計算またはアップロードされない行 ID が必要ですか? サーバー上のデータまたはインデックスに、レコード内の重複データまたは null 値を防止する制約がありますか?

于 2010-03-31T21:36:59.847 に答える