모바일, 데스크탑 및 웹 서버 데이터베이스를 동기화 프레임 워크와 동기화 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/768888

문제

동기화 프레임 워크 v1 (ado.net v2 용 동기화 서비스 포함)과 모바일 v1 용 동기화 서비스를 사용하고 있습니다.

데스크탑 PC의 모바일 장치에서 SQL Express로 SQL Compact Edition 데이터베이스를 동기화 할 수 있습니다.

또한 데스크탑 PC에서 WCF를 사용하여 웹 서버의 SQL Server 데이터베이스로 SQL CE 데이터베이스를 동기화 할 수도 있습니다.

도크시 모바일 장치에서 데스크탑으로 동기화 한 다음 웹 서버와 데스크탑 PC가 동기화되도록하려고합니다 (데스크탑 시스템의 사본은 웹 연결이 신뢰할 수없는 경우).

이상적으로는 모바일 및 데스크탑 설정이 가능한 한 간단하기 때문에 SQL Express를 피하고 싶습니다.

불행히도,이 작품들에 맞는 방법이없는 것 같습니다.

  1. 모바일 장치는 PC의 SQL Express와 동기화되며 SQL Express에서 SQL Server로 동기화 할 수 없습니다.
  2. SQL Server와 동기화는 SQL CE에서 가져와야하며 데스크탑의 모바일 장치를 SQL CE와 동기화 할 수 없습니다.

이것은 많은 양의 코드 (Custom SyncProviders 및 Hand-Crafted Update 문 등)가 가능하지 않거나 가능하지 않습니까, 아니면 명백한 것을 놓쳤습니까?

시간 내 줘서 고마워! 표시.

도움이 되었습니까?

해결책

라이브 응용 프로그램에 동일한 기본 설정을 사용하고 있으며 꽤 잘 작동합니다. 웹 서비스를 사용하여 서버와 모바일 장치가 동기화되어 있으며 (WCF도 괜찮을 것입니다) 데스크탑 앱이 다소 동기화되어 있습니다. 이와 같이 그리고 모든 것이 정말 매끄럽게 작동합니다.

일반적으로 클라이언트가 서버와 동기화 한 다음 서버와 동기화하는 것은 더 많은 상태를 관리해야하며 공통 도구와 가이드는 많은 도움이되지 않기 때문에 나쁜 생각입니다.

SQL Merge 복제를 사용하는 것이 좋습니다. SQL 관리 전문가라고 생각하지 않는 한 느끼다 그것을 사용하여 안전합니다.

참고로, 자신의 동기화 프레임 워크 제공 업체를 만드는 데 시간과 노력을 기꺼이 보내려면 할 수없는 일이 거의 없다는 것을 알게 될 것입니다.

다른 팁

'의도 된'패턴은 데스크탑에서 SQL Express를 사용하고 서버에 병합 반복을 사용하는 것이라고 가정합니다.

데스크탑에서 SQLCE를 동기화 프레임 워크의 '서버'엔드로 사용할 수있을 것으로 기대하지 않습니다. 무엇보다도 SQLCE는 단일 사용자이며 동기화에 적용되지 않습니다. 상황에서 실행 가능한 것처럼 보일지라도.

작동하는 것은 서버와 서버와 데스크탑과 모바일을 동기화하는 것입니다. 그러나 나는 그것이 당신의 연결 문제를 해결하지 못하고 PC에서 복사를 할 수 있다는 것을 알고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top