2013-02-27 2 views
0

두 개의 데이터베이스가 연결된 SQL Server 인스턴스가 있습니다. 하나는 MS SQL 데이터베이스이고 다른 하나는 인덱싱 된 파일 시스템 (Vision) 인 연결된 서버 (ODBC)입니다. Customer 테이블이 db에 있고 모두 동일하게 유지되어야한다고 가정 해 봅시다. 연결된 서버에서 응용 프로그램의 필드를 채우고 변경 사항이 있으면 두 데이터베이스에 모두 기록해야합니다. 두 개의 DB에서 필드 이름이 다를 수도 있습니다. 응용 프로그램에서 ADO 연결을 사용하고 단 하나의 db로 작업하는 경우 일반적으로 adapter.Update를 사용합니다. 응용 프로그램에서 꽤 많은 db 호출을 수행 할 것이므로이 클래스를 처리하고 클래스를 호출하는 간단한 데이터 처리 클래스를 만드는 것이 좋습니다. 또한 두 시스템이 동일하게 유지 될 수 있도록 일종의 db-transaction을 만들려고합니다. 누구에게이 접근 방법에 대한 제안이 있습니까?동시에 두 데이터베이스 업데이트

+2

트랜잭션 지원의 경우 (보통) 'System.Transactions.TransactionScope'보다 훨씬 쉽습니다. –

답변

1

DataLayer (각 db마다 하나씩)를 처리하기위한 두 개의 개별 프로젝트가 있고 그 둘 모두에 CRUD 작업을 위임하고 필요한 변환을 처리하는 Facade/Adapter를 통해 노출시킬 수 있다고 생각합니다 (당신은 필드가 같은 이름이 아니라고 언급했다).

Facade/Adapter에서 재 시도 논리 및 트랜잭션을 구현하여 두 데이터 소스가 동기화되어 있는지 확인할 수도 있습니다.

관련 문제