Использование MS Sync Framework для синхронизации двух баз данных SQL CE

Я просто работаю в Microsoft Sync Framework. Выглядит довольно легко синхронизировать локальную базу данных SQL CE 3.5 с удаленным SQL Server 2008 с помощью SqlSyncAdapterBuilder и SqlServerChangeTracking.

К сожалению, синхронизировать две базы данных SQL CE 3.5 не так-то просто ...
Документация очень скудная, и я действительно не знаю, с чего начать.

Мой конкретный сценарий выглядит следующим образом:

  • У меня один центральный SQL Server 2008.
  • К этому серверу подключено несколько клиентов (некоторые из них только частично).
  • Эти (частично подключенные) клиенты используют несколько приложений (возможно, работающих одновременно), работающих с одной и той же базой данных.

Синхронизация клиентов с центральным сервером не должна быть проблемой. Синхронизация нескольких приложений на автономном клиенте - это то место, где я подумал об использовании нескольких баз данных SQL CE (одна в качестве сервера и одна для каждого экземпляра приложения). Я действительно ценю возможность использовать те же механизмы разрешения конфликтов при синхронизации клиентов с сервером, а также при синхронизации нескольких приложений на клиенте. Установка SQL Server 2008 Express на каждом клиенте - непростая задача.

Есть ли у кого-нибудь опыт синхронизации двух баз данных SQL CE?


person Thomas Danecker    schedule 24.02.2009    source источник


Ответы (2)


Sync Framework 2.0 обеспечивает синхронизацию между SQL Server Compact Edition базы данных.

SqlCeSyncProvider используется для синхронизации баз данных SQL Server Compact.

Этот поставщик может использоваться для синхронизации с центральным сервером, но также имеет возможность синхронизации с другими клиентами, что невозможно с SqlCeClientSyncProvider. Эта возможность позволяет разработчикам ориентироваться в новых сценариях, таких как сценарий совместной работы, в котором группам людей необходимо синхронизировать друг с другом при отсутствии подключения к центральному серверу.

person Scott Munro    schedule 31.10.2009

Для всех синхронизаций ado.net требуется поставщик клиента и поставщик сервера.

К сожалению, в текущей версии платформы нет SqlCe Server SyncProvider из коробки. Это означает, что вам нужно создать подкласс DBServerSyncProvider и обернуть SqlCe Client SyncProvider.

См. эту статью, чтобы узнать, как это сделать. это с помощью sql express.

Это та же концепция, только вы будете обертывать SqlCeClientProvider. Хорошая новость в том, что упаковка может быть проще.

Удачи!

person matt eisenberg    schedule 03.03.2009