Sintomi
Quando si eseguono più query SQL o chiamate di stored procedure in un blocco unico < sincronizzazione > in Host Integration Server 2013, le chiamate vengono elaborate nell'ordine inverso da quello previsto. Nell'esempio di codice XML seguente, ad esempio, include più chiamate di stored procedure in un blocco unico < sincronizzazione >:
<sync>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="ABCDEFGHIJ" />
</StoredProcedure>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="BCDEFGHIJK" />
</StoredProcedure>
<StoredProcedure>
<SP_CHAR_INOUT INOUTVAL1 ="CDEFGHIJKL" />
</StoredProcedure>
</sync>
In questo esempio, l'ultima chiamata di stored procedure nel blocco < sincronizzazione > è il primo che viene eseguito.
Causa
BizTalk Adapter per DB2 archivi i record di una sincronizzazione < > bloccano in una pila che viene eseguita in ordine inverso. Questo comportamento è stato parte di BizTalk Adapter per DB2 sin dall'Host Integration Server 2006.
Risoluzione
Informazioni sull'aggiornamento cumulativo
La correzione che risolve questo problema è inclusa nell'aggiornamento cumulativo, 2 per Host Integration Server 2013.
Soluzione alternativa
Per eseguire SQL query o stored procedure chiama nell'ordine elencato, inserire ogni query o chiamata di stored procedure nel proprio blocco < sync >, come illustrato di seguito:
<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 si carica ogni query o chiamata di stored procedure nel proprio blocco < sync > e una delle query o stored procedure chiamata ha esito negativo per qualsiasi motivo, si ricevono aggiornamenti incompleti nel database DB2 perché ogni istruzione viene gestito nella propria transazione.
Stato
Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".
Ulteriori informazioni
Dopo avere applicato questo aggiornamento, BizTalk Adapter per DB2 elabora ogni query SQL e una chiamata di stored procedure contenute in un blocco < sync > nell'ordine in cui esso è elencato nel file XML associato.