2008-11-11 2 views
2

나는 두 개의 pc's.PC-a와 PC-b 둘 다 java 데이터베이스 지원과 함께 설치된 동일한 응용 프로그램을 가지고 있다고 가정 해 보겠습니다. 나는 때때로 복사하려고합니다. PC-a의 데이터베이스에서 PC-b 로의 데이터, PC-b에서 PC-b 로의 데이터, 그래서 그 두 대의 PC가 항상 동일한 데이터를 갖도록합니다. 데이터베이스 계층에 이미 구현 된 API가 있습니까 (예 : PC의 1.export-backup 데이터베이스, 2.import-merge 데이터베이스, PC-b) 또는 수동으로 SQL 레이어에서이 작업을 수행해야합니까?import (merge) -export java db database

답변

1

간단히 말해서, 옆에서 어떤 일을하지 않으면 이것을 할 수 없습니다. SalesLogix가 모두에게 사이트 코드를 제공함으로써이 문제를 해결, 그래서 여기에 테이블 모습 방법은 다음과 같습니다

Customer: 
    SiteCode varchar, 
    CustomerID varchar, 
    .... 
    primary key(siteCode, CustomerID) 

을 이제 당신은 당신의 데이터베이스를 가지고 가고, 프라이 머리 키를 기준으로 각 레코드를 일치합니다. 충돌이있는 경우 최종 사용자에게 어떤 데이터가 다른지에 대한 보고서를 제공해야합니다.

말 기계 1 :

SiteCode|CustomerID|CustName  |phone   |email 
1 XXX  |0001  |Customer1 |555.555.1212 |[email protected] 

및 machine2에서

:

SiteCode|CustomerID|CustName  |phone   |email 
2 XXY  |0001  |customer2 |555.555.1213 |[email protected] 
3 XXX  |0001  |customer1 |555.555.1212 |[email protected] 

해상도 수행하십시오 PK가 일치하기 때문에, 1과 3이 충돌하는

  • 기록을하지만, 데이터는 다릅니다 (이메일은 다릅니다).
  • 레코드 2는 고유하며 두 데이터베이스 모두에 자유롭게 존재할 수 있습니다.

오류 또는 데이터 손상 또는 참조 무결성 문제없이 자동으로이 작업을 수행하는 NO 방법이있다.

+0

나는 이것이 down-mod에 어울리는 지 알고 싶다. –

1

내 생각에 Java DB (aka Derby)을 사용하고있는 것 같습니다.이 경우 단일 인스턴스를 사용할 수 없다고 가정하면 backup/restore을 사용할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 기본 데이터베이스의 결과 삭제를 재검토하십시오 .2 개의 데이터베이스를 병합하고 싶습니다. –

1

왜 한 대의 컴퓨터에 데이터베이스가 없습니까? 호스트 PC로부터 다른 모든 PC의 요청 데이터를 가지고있다.

+0

저는 해당 부서에서 개발 한 자바 프로그램을 배포하는 프랜차이즈 회사에서 일하고 있으며 다른 데이터베이스를 병합해야합니다. 위치. –

2

데이터베이스를 "병합"할 때 언급 한 것처럼, 이것은 사용자 정의 코드를 작성해야하는 것처럼 들린다. - 예를 들어, 두 가지 모두에서 동일한 키이지만 세부 사항이 다른 키.