2012-09-05 4 views
0

BizTalk에서 첫 번째 오케스트레이션을 만들고 데이터베이스를 효율적으로 업데이트하는 데 문제가 있습니다 (특히 최대 3 개의 다른 테이블).오라클 데이터베이스를 업데이트하는 오케스트레이션을 만드는 가장 효율적인 방법은 무엇입니까?

사용자는 emplid (고유 ID)를 포함하는 스키마와 일치하는 인바운드 메시지를 사용하여 서비스를 호출 한 다음 이름 - 값 쌍을 묶습니다 (이 그림의 원본 스키마 참조). "이름"은 테이블의 열에 해당합니다 (예 : 이름이 "employeename"인 경우 EMPLOYEE 테이블의 NAME 열에 해당). 물론이 값은 사용자가 해당 열을 업데이트하려는 새로운 값입니다.

그래서 그들은 그들 만이 직원 건네 업데이트 할 필드에 따라, 1 표, 2 표, 또는 3에 적용되는 업데이트 메시지를 전달할 수있다.

현재 3 개의 테이블 어댑터 (각 테이블마다 하나씩)가 3 개의 별도 업데이트로 제공되고 있지만, 3 개의 테이블 모두에 대해 updateValuePairs가 전달되는 경우의 다른 경우 작업에 문제가 있습니다. (다른 쿼리는 여전히 실행 및 실패를 시도합니다). 나는이 권리에 접근하고 있는가? 아니면 내가하려는 일을 성취하기위한 더 좋은 방법이 있습니까? 당신은 단지 매핑과 하나가 필요합니다보다

+0

당신이 실행하는 BizTalk의 버전을 조언 수를 - 그것은 제안 솔루션에 영향을 미칠 수 있습니다. –

+0

어떤 키 -> 테이블 매핑이 필요한지 알 수 있도록 질문을 업데이트 할 수 있습니까? 사전 정의 된 목록이 있습니까? 이 목록이 변경되거나 항상 수정 될 수 있습니까? 나중에 변경 하시겠습니까? –

+0

biztalk server 2009. 키 -> 테이블 매핑은 명시 적이며 미리 정의되어 있습니다 (필자도 알고 있습니다). 목록은 동적으로 변경되지 않으며, 요청 당 동일합니다 (가능한 한 필드를 추가하는 미래의 기능 향상이 아니라면). – n00b

답변

1

청소기 솔루션을 구현하기 위해 나는 다른 방법을 시도 할 것이다,

있는 테이블

를 이동하는 스토어-절차 로직을 처리를 만들 대신 3의 LOB 어댑터 당신은 orchestratio에서보기 솔루션을 통해 지금

1.receive 입력을 가지고 N

는 DB 여기

에 DB/LOB 어댑터에 매핑 된 데이터를 3.sending 스키마 저장 프로 시저에

를 입력을 생성 2.mapping하는 메신저 가정 (당신을 도울 수있는 링크입니다 당신은 biztalk 2010) 사용

How to use Oracle Stored Procedure

+0

ID가 인바운드 메시지를 구문 분석을 위해 저장 프로 시저에 전달하는 방법을 조금 확장 할 수 있습니까? 아니면 SP를 호출하기 전에 구문 분석을 수행 한 다음 SP의 반환 값을 어디서 캡처 할 수 있습니까? 죄송합니다. 전 Biztalk에서 SP를 사용한 적이 없습니다. – n00b

관련 문제