2009-02-24 4 views
7

저는 Microsoft Sync Framework로 작업하고 있습니다. SqlSyncAdapterBuilder 및 SqlServerChangeTracking을 사용하여 로컬 SQL CE 3.5 데이터베이스를 원격 SQL Server 2008과 쉽게 동기화 할 수 있습니다.MS Sync Framework를 사용하여 두 개의 SQL CE Dbs 동기화

두 개의 SQL CE 3.5 데이터베이스를 동기화하면 쉽게 보이지 않습니다.
설명서가 매우 희소하며 여기에서 시작하는 방법을 알지 못합니다.

내 구체적인 시나리오는 다음과 같습니다 :

  • 나는 하나의 중앙 SQL 서버 2008
  • 여러 클라이언트가이 서버 (그들 중 일부는 부분적으로 만)에 연결되어있다.
  • (부분적으로 연결된) 클라이언트는 동일한 데이터베이스에서 작동하는 여러 응용 프로그램 (동시에 실행 중일 수도 있음)을 사용하고 있습니다.

클라이언트를 중앙 서버와 동기화해도 문제가 없습니다. 오프라인 클라이언트에서 여러 응용 프로그램을 동기화하는 것은 여러 개의 SQL CE 데이터베이스 (하나는 서버로, 하나는 모든 응용 프로그램 인스턴스에 대해)를 사용하는 것으로 생각합니다. 클라이언트와 서버를 동기화 할 때와 클라이언트에서 여러 응용 프로그램을 동기화 할 때 동일한 충돌 해결 메커니즘을 사용할 수 있다는 점을 정말 좋아할 것입니다. 모든 클라이언트에 SQL Server 2008 Express를 설치하는 것은 필요 없습니다.

누구나 2 개의 SQL CE 데이터베이스를 동기화 한 경험이 있습니까?

답변

5

Sync Framework 2.0은 SQL Server Compact Edition 데이터베이스 간의 동기화를 허용합니다.

SqlCeSyncProvider은 동기화 SQL 서버 컴팩트 데이터베이스에 사용됩니다. 이 공급자가 로 사용할 수 있습니다

은 중앙 서버와 동기화하지만 는 SqlCeClientSyncProvider와 수 아닌 다른 클라이언트와 를 동기화 할 수있는 기능을 가지고있다. 이 기능은 사람들의 중앙 서버에 연결이없는 상태에서 각각 다른 사이에 동기화해야하는 팀 같은 협업 시나리오로 목표 새로운 시나리오 개발을 가능하게한다.

1

모든 ado.net 동기화에는 클라이언트 제공 업체와 서버 제공 업체가 필요합니다.

슬프게도 SqlCe 서버 SyncProvider는 현재 버전의 프레임 워크와 함께 제공되지 않습니다. 즉, DBServerSyncProvider를 서브 클래스 화하고 SqlCe 클라이언트 SyncProvider를 래핑해야한다는 것입니다.

SQL Express로 수행하는 방법에 대한 예제는 this article을 참조하십시오.

SqlCeClientProvider를 래핑하는 것과 같은 개념입니다. 좋은 소식은 포장이 더 쉽다는 것입니다.

행운을 빈다.

관련 문제