2017-10-06 13 views
0

BizTalk DB2 어댑터를 사용하여 AS400 데이터베이스에 데이터를 삽입하려고합니다.BizTalk DB2 어댑터로 여러 행을 추가하는 방법

한 행 삽입으로 쉽게 처리 할 수 ​​있습니다. 그러나 DB2 어댑터에서 사용되는 맵에 내 원본 스키마에는 반복 가능한 노드가 있습니다. 즉, 한 번에 여러 행을 삽입해야하는 경우가 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<ns0:INSERT xmlns:ns0="http://myNamespace"> 
<sync> 
     <after> 
      <MyElement id="0" value1="toto" value2="tutu"> 
      </MyElement> 
      <MyElement id="1" value1="toto" value2="tutu"> 
      </MyElement> 
    </after> 
</sync> 
</ns0:INSERT> 

물건을 넣지 않는이 메시지 : 몇 가지 이유를 들어, 내가 어떤 오케스트레이션을 사용할 수 없으며

불행하게도, ... 그래서 내가하고 싶은 것처럼 찾고 출력 메시지를 생성하는 것입니다 이 ONL의 경우 (... 번역에 대한 오류가 처음 프랑스어에 죄송 기록)

Table MyTable ?MyDataBase ? of *N incorrect for this operation. SQLSTATE: 55019, SQLCODE: -7008 

내가 부탁 해요 지점에 와서

을 :이 오류가 날 떠나 내가 원하는대로 할 수있어 ...

당신은 어떤 생각이 있습니까?

+0

이는 일반적으로 DB2에 여러 행을 삽입하는 방법과 동일합니다. 테이블 이름을 'MyElement'라고 가정하십시오. 어떻게 스키마를 생성 했습니까? 특히 DB2 어댑터는 매우 예민하고 제한적이므로 스키마를 생성 할 때와 동일한 송신 포트에서 동일한 설정을 가져야합니다. –

답변

0

감사합니다. 나는 무엇이 잘못되었는지 알아 낸다. 여러 행 삽입 링크가 없습니다. 내가 보여주는 방법은 정확하게 여러 행을 삽입해야하는 방법입니다.

SQLSTATE: 55019, SQLCODE: -7008은 비활성화 된 데이터베이스 실행 시간 로깅에서 온 것 같습니다.

이제이 문제가 해결되었습니다.

0

먼저 오케스트레이션을 방지해야하는 정당한 이유가 없습니다. 우리는 당신이이 문제에 대해 가지고있는 오해를 해결하도록 도울 수 있습니다.

그러나 MyElement은 비정상적인 테이블 이름입니다. 그게 틀림 없습니까?

+0

오케스트레이션을 피할 수있는 합법적 인 이유는 BizTalk 응용 프로그램에 오케스트레이션이있을 때 리소스를 배포하기 위해 BizTalk 응용 프로그램을 중지해야하기 때문입니다. 그리고 제 경우에는 이런 종류의 배포를 피하고 싶습니다. – fcaillaud

+0

그런 다음 ** MyElement **에 대해 분명히 내 테이블의 실제 이름이 아닙니다. 나는이를 예로서 사용한다. – fcaillaud

+0

@fcaillaud 참고로, 당신이 이유로 설명하는 것은 ** 완전히 사실이 아닙니다 **. 배포 할 때 종종 응용 프로그램이 아닌 호스트 인스턴스를 다시 시작해야하지만이 문제를 일으키는 오케스트레이션에는 특별한 것이 없습니다. * 모든 * 이슈 형식은 재시작이 필요할 수 있습니다. –