Sintomas

Quando emitir várias consultas de SQL ou chamadas de procedimento armazenado num bloco único < sincronização > no Host Integration Server 2013, as chamadas são processadas pela ordem inversa do previsto. Por exemplo, o seguinte exemplo de código XML inclui várias chamadas de procedimento armazenado num bloco único < sincronização >:

<sync>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="ABCDEFGHIJ" />
</StoredProcedure>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="BCDEFGHIJK" />
</StoredProcedure>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="CDEFGHIJKL" />
</StoredProcedure>
</sync>

Neste exemplo, a última chamada de procedimento armazenado no bloco de < sincronização > é o primeiro que é executado.

Causa

BizTalk Adapter para DB2 armazena os registos na < sincronização > bloqueiam numa pilha que é executada pela ordem inversa. Este comportamento tem sido uma parte do BizTalk Adapter para DB2 desde o Host Integration Server 2006.

Resolução

Informações de actualização cumulativa

A correcção que resolve este problema está incluída em 2 de actualização cumulativa para o Host Integration Server 2013.

Solução alternativa

Para executar SQL consultas ou procedimento armazenado chama pela ordem listada, coloque cada consulta ou armazenados chamada de procedimento no seu próprio bloco < sincronização >, conforme o exemplo seguinte:

<sync>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="ABCDEFGHIJ" />
</StoredProcedure>
</sync>
<sync>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="BCDEFGHIJK" />
</StoredProcedure>
</sync>
<sync>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="CDEFGHIJKL" />
</StoredProcedure>
</sync>

Nota Quando colocar cada consulta ou chamada de procedimento no seu próprio bloco < sincronização > armazenado e uma das consultas ou procedimento armazenado chama falhar por qualquer razão, receber actualizações incompletas na base de dados DB2 porque cada instrução é processada na sua própria transacção.

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações

Depois de aplicar esta actualização, o BizTalk Adapter para DB2 processa cada consulta SQL e chamada de procedimento armazenado que está contida num bloco < sincronização > pela ordem em que está listado no ficheiro XML de acompanhamento.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade da tradução?
O que afetou a sua experiência?

Obrigado pelos seus comentários!

×