2010-05-10 3 views
0

백업 데이터베이스의 인스턴스 7 개를 중앙 데이터베이스와 하나씩 (모두 동일한 스키마 보유) 하나씩 동기화하기 위해 C# .NET에서 UI를 개발하려고합니다. 백업 데이터베이스 (모두 7 개의 인스턴스 클라이언트 데이터베이스)는 pendrive와 같은 이동식 장치의 중앙 서버로 가져 오며 각 클라이언트의 mdf 및 ldf 파일로 구성되며 중앙 데이터베이스가있는 서버에 연결됩니다. 모든 클라이언트 백업 데이터베이스가 첨부 된 후에는 각 백업 데이터베이스를 하나씩 중앙 데이터베이스에 동기화 (기존 데이터를 업데이트하거나 서버에있는 중앙 데이터베이스에 새 데이터를 삽입)해야합니다. C# .NET을 사용하여 백업 데이터베이스와 중앙 데이터베이스를 동기화하는 방법을 알고 싶습니다.클라이언트 데이터베이스와 중앙 데이터베이스 간의 동기화

답변

0

각 인스턴스를 통해 다른 6 개 데이터베이스의 데이터를 변경하지 않는다고 가정하면 레코드 기록을 유지할 수 있습니다. 변경 사항을 읽고 각 데이터베이스의 로그에 저장된 정보를 기반으로 중앙 데이터베이스를 업데이트하십시오.

로드 된 각 인스턴스에서 다른 6 개의 인스턴스를 각각 업데이트해야하는 경우 전체 변경 사항을 집계 한 다음 서로 전송해야합니다.

데이터 비교를 위해 행 버전 관리를 사용하여 중앙 버전으로 데이터를로드 할 수도 있습니다 (그러나 찾으려면 각 표의 행을 읽어야합니다).

중앙 데이터베이스 -> 클라이언트 데이터베이스에서도 데이터를 업데이트해야하는 경우 비슷한 기술을 사용할 수 있습니다.

편집 실제 업데이트를 수행하려면 레코드를 찾는 "원본"데이터베이스에 대해 DataReader를 열어야합니다. 그런 다음이 개체에서 "지정된 ** 각 ** 테이블에서 ** 수정 ** 열 선택"이라는 보조 판독기를 작성한 다음 을 읽은 다음 대상 데이터베이스에 대해 명령 개체와 ExecuteNonQuery를 만듭니다.

+0

클라이언트 데이터베이스에서 중앙 데이터베이스 만 업데이트하려고합니다. 양방향성이 아닙니다. 내가이 책을 처음 접했을 때 어떤 예도 언급 할 수있다. 데이터베이스에서 다른 데이터베이스로 새 데이터를 업데이트하거나 삽입 할 수있는 방법을 보여 주시겠습니까? 감사합니다 및 안부 Indranil – piku

관련 문제