SQL プロシージャーに問題があり、適切な解決策が見つからないようです。ストアド プロシージャには、XML データ型 (名前 = @data) の 1 つのパラメーターが含まれています。
着信メッセージの例を次に示します (実際のメッセージにはさらに多くのノードが含まれていますが、簡単にするために省略しています)。
<Suppliers xmlns="">
<Supplier>
<IDCONO>3</IDCONO>
<IDSUNO>009999</IDSUNO>
<IDSUTY>0</IDSUTY>
</Supplier>
</Suppliers>
私の SQL データベースには、「Supplier」というテーブルがあり、XML のノードとまったく同じ列 (IDCONO、IDSUNO、IDSUTY など) が含まれています。
ノードをループして、列にデータを挿入する必要があります。以下の手順を実装しましたが、これにより、大きなファイルで多くのパフォーマンスの問題が発生しています (長い処理時間、さらにはタイムアウト):
INSERT INTO SUPPLIER
(IDCONO
,IDSUNO
,IDSUTY)
SELECT
T.C.value('IDCONO[1]', 'VARCHAR(50)') as IDCONO,
T.C.value('IDSUNO[1]', 'VARCHAR(50)') as IDSUNO,
T.C.value('IDSUTY[1]', 'VARCHAR(50)') as IDSUTY
from @data.nodes('/Suppliers/Supplier') T(C)
どんな助けでも大歓迎です!SQL のバージョンは SQL Server 2012 であることに注意してください。
前もって感謝します。