挿入およびストアド プロシージャの呼び出しの処理順序を逆に DB2 用の BizTalk アダプターを使用する場合

どこにいても、どのデバイスからでも、 Microsoft 365

Microsoft 365 にアップグレードして、最新の機能と更新プログラムを利用できます。

今すぐアップグレード

現象

複数の SQL クエリまたはストアド プロシージャの呼び出しで Host Integration Server 2013 内の 1 つの < 同期 > ブロックを実行するときに何を期待するから逆の順序で呼び出しが処理されます。たとえば、次の XML コードのサンプルには、< 同期 > 1 つのブロックに複数のストアド プロシージャの呼び出しが含まれています。

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

この例では、< 同期 > ブロック内の最後のストアド プロシージャ呼び出しが最初に実行されます。

原因

DB2 格納用の BizTalk アダプター < 同期 > 内のレコードは、逆の順序で実行されるスタックでブロックします。この現象は、Host Integration Server 2006 から DB2 用の BizTalk アダプターの一部をしました。

解決策

累積的な更新プログラムの情報

Host Integration Server 2013 の累積的な更新 2でこの問題を解決する修正プログラムが含まれます。

回避策

SQL を実行するには、クエリまたはストアド プロシージャ一覧の順序で呼び出し、各クエリを保存またはストアド プロシージャの呼び出しを次の例のように、独自の < 同期 > ブロックに。

<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>

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×